Added Game States

-Update object methods to be protected instead of public to protect
their usage outside of its subclasses.
-Added a game state class with methods for managing object references.