A bunch more additions
Added a _setState() method

This way when you subclass the game, you can know when the game state
changes
Added an onStateChange() abstract method.

Override this instead of the _setState method