Manages the different components. Apart from some UI widgets, instances of the different components are stored (as opposed to classes). In such a way, the component manager stores all the state of the user.
For certain components, many can be active at the same time (card types, filters, function hooks, ...). For others, there can be only on active at the same time, like schedule, database ... The idea is that the last one registered takes preference. This means that e.g. the default scheduler needs to be registered first.