code: def register_id(self, cmd_type, obj):
      
      ids = self._ids.setdefault(cmd_type, {})
      if obj.id in ids:
        raise IntegrationIdExistsError
      self._ids[cmd_type][obj.id] = obj
docs: Registers an object (through its integration id) to receive update
      notifications. This is the core mechanism how Output and Keypad objects get
      notified when the controller sends status updates.