add a separate game input manager class and make it stateful to avoid ugliness where ui clicks propagated down to the game objects under them