Added IStateObseration, to define methods that can be used by the player agent. Changed visibility of variables in Game, and added methods for access.