added base controller, refactoring to remove GameWorld class and have GameController take over its duties