OOP organizing.

Edited the code a bit to format it for long term.  I will probably tweak
it further in the future.