Abstract command invoker from the game engine so make game engine more abstractable