split renderer and game loop from the world