docs: def register(self):
          """Change the state machine that is observed for new selected states to the selected state machine."""
          self._do_selection_update = True
          # relieve old model
          if self.__my_selected_sm_id is not None:  # no old models available
              self.relieve_model(self._selected_sm_model)
          # set own selected state machine id
          self.__my_selected_sm_id = self.model.selected_state_machine_id
          if self.__my_selected_sm_id is not None:
              # observe new model
              self._selected_sm_model = self.model.state_machines[self.__my_selected_sm_id]
              self.observe_model(self._selected_sm_model)  # for selection
              self.update()
          else:
              self._selected_sm_model = None
              self.state_row_iter_dict_by_state_path.clear()
              self.tree_store.clear()
          self._do_selection_update = False