Why not just have these in `GameClient`, rather than having these here, emitting a signal, catching the in the game client, etc. Seems to me we'd be better off just talking to the game client directly.