Tidbits

You might want some of this, or maybe not. I'm not sure if it's good practice to mix state managers in with controllers, but I do know that it's not good practice to be playing with state as free variables in controllers.

Anyways, I threw together a state manager for the player to extract the playing state into its own home. A bunch of stuff was able to be extracted out of the PlayerController with a cleaner state API. Again, this might be old school and no longer The Right Way. Maybe something like this would belong more in the router. Interested in the discussion, anyways.