First level refactoring of certain base classes
Added camera to framework to allow for movement.
Moved many classes from one package to another package to separate concerns