docs: def undo(self, key_value, modifier_mask):
          """Undo for selected state-machine if no state-source-editor is open and focused in states-editor-controller.
  
          :return: True if a undo was performed, False if focus on source-editor.
          :rtype: bool
          """
          # TODO re-organize as request to controller which holds source-editor-view or any parent to it
          for key, tab in gui_singletons.main_window_controller.get_controller('states_editor_ctrl').tabs.items():
              if tab['controller'].get_controller('source_ctrl') is not None and \
                      react_to_event(self.view, tab['controller'].get_controller('source_ctrl').view.textview,
                                     (key_value, modifier_mask)) or \
                  tab['controller'].get_controller('description_ctrl') is not None and \
                      react_to_event(self.view, tab['controller'].get_controller('description_ctrl').view.textview,
                                     (key_value, modifier_mask)):
                  return False
          if self._selected_sm_model is not None:
              self._selected_sm_model.history.undo()
              return True
          else:
              logger.debug("Undo is not possible now as long as no state_machine is selected.")