Added a few new classes to the project. Modified the existing ones to be
a bit more structured.

Removed unnecessary code from Base classes.