[![This is what I want to make.][1]][1] [1]: https://i.sstatic.net/mxNEy.png I don't know how to implement a structure like this so I could make a game engine; I have a general idea of what I want to make but don't know how to create a proper game engine. I want to minimize system references outside win32_platform--the engine, with the engine processing everything from the system which the main class can access through the handlers. I want to distance the engine from the main class as much as possible with just "a central main reference" where the engine knows about the other game loop, which would make a profiler more simple by just making the engine check the game loop.