Starting to build a GUI to handle the application

Some refactoring was done to create more "balanced" classes.
Re-Distributed responsibility out of some really busy classes into some
new Classes to handle some of the specialiced tasks.

All in all, project needs second pair of eyes to determine best
organizational structure for the source code.