old_contents: class DashboardContents:
      _registry = {}
  
  
  content = DashboardContents()
  
new_contents: class DashboardContents:
      _registry = {'project': {}, 'module': {}}
  
      def __getitem__(self, identifier):
          component = self._registry['project'].get(identifier, None)
          if not component:
              component = self._registry['module'].get(identifier)
          return component
  
      def __contains__(self, identifier):
          return (identifier in self._registry['project'] or
                  identifier in self._registry['module'])
  
      def register_project(self, component):
          self._registry['project'][component.identifier] = component
  
      def register_module(self, component):
          self._registry['module'][component.identifier] = component
  
      def get_project_components(self):
          return self._registry['project'].items()
  
      def get_module_components(self):
          return self._registry['module'].items()
  
  
  content = DashboardContents()
  
subject: Store project and module componentes separately