Convert to  immutable GameEngine