Task #3418: Infrastructure improvements for modular simulator
Use builders to prepare modules
The current setup of modular simulator is more complicated as necessary, as it mixes constructing the elements, satisfying their mutual connections (registering clients to signallers and functionality providers), and their arrangement (which defines the exact integration algorithm being used).
The approach would become significantly easier to understand, maintain and extend if the responsibility of preparing the elements would be delegated to builder object. This would encapsulate the implementation details of construction and inter-connection of elements, helping to more clearly expose the arrangement of modules.