Control SystemManager lifecycle
Remove the Singleton pattern. Let the MainRunner control the lifcicle of SystemManager and all its sub-objects.
Remove the Singleton pattern. Let the MainRunner control the lifcicle of SystemManager and all its sub-objects.