MVC design of a game engine