Refactored Classes & Added testing app

Much unnecessary code was removed and a much improved inheritance
structure was implemented.  A GUI based testing app was also started.