docs: def add_controller(self, key, controller):
          """Add child controller
  
          The passed controller is registered as child of self. The register_actions method of the child controller is
          called, allowing the child controller to register shortcut callbacks.
  
          :param key: Name of the controller (unique within self), to later access it again
          :param ExtendedController controller: Controller to be added as child
          """
          assert isinstance(controller, ExtendedController)
          controller.parent = self
          self.__child_controllers[key] = controller
          if self.__shortcut_manager is not None and controller not in self.__action_registered_controllers:
              controller.register_actions(self.__shortcut_manager)
              self.__action_registered_controllers.append(controller)