docs: def states(self, states):
          """ Overwrite the setter of the container state base class as special handling for the decider state is needed.
  
          :param states: the dictionary of new states
          :raises exceptions.TypeError: if the states parameter is not of type dict
          """
          # First safely remove all existing states (recursively!), as they will be replaced
          state_ids = list(self.states.keys())
          for state_id in state_ids:
              # Do not remove decider state, if teh new list of states doesn't contain an alternative one
              if state_id == UNIQUE_DECIDER_STATE_ID and UNIQUE_DECIDER_STATE_ID not in states:
                  continue
              self.remove_state(state_id)
          if states is not None:
              if not isinstance(states, dict):
                  raise TypeError("states must be of type dict")
              # Ensure that the decider state is added first, as transition to this states will automatically be
              # created when adding further states
              decider_state = states.pop(UNIQUE_DECIDER_STATE_ID, None)
              if decider_state is not None:
                  self.add_state(decider_state)
              for state in states.values():
                  self.add_state(state)