Gamebryo engine (Bethesda's branch) reimplementation based on OpenMW and id Tech 4 sources
The following graph showcases how the SbClientApp and other client-side modules will work together. Some details are omitted for now. The design model is pretty similar to the Gamebryo approach, except that it does instantiate a bit more parts here (like scene) while we currently only init sound, input, ui and renderer modules. Then the game-specific app code derives from the SbClientApp class and inits the rest what it needs (the game framework in F3GOATY's case). UI events will also be processed here (this will help to keep the SbSystem module completely decoupled from the userspace code)
The main advantage of this approach is that it allows developers to reuse the whole SbClientApp framework for the engine's toolset apps creation