Decoupled game and renderer