Refactoring

Refactored GameState to consume a Game Model and other misc refactorings.