Created a design for the program. Also designed a test application to see if the design works.
It does almost what I want it to do. Here is a link to the design: Code