Split subsystem logic into subsystems and contexts
Use composed subsystem instead of subsystems manager
Fix missing AbstractContext destructor
Fix checking if logging subsystem is initialized