Converted the previous procedural system into an object oriented system.

The system lacks integrity testing.  JUnit is on the way.