docs: def setup_run(self):
          """ Executes a generic set of actions that has to be called in the run methods of each derived state class.
  
          :raises exceptions.TypeError: if the input or output data are not of type dict
          """
          self.state_execution_status = StateExecutionStatus.ACTIVE
          self.preempted = False
          if not isinstance(self.input_data, dict):
              raise TypeError("input_data must be of type dict")
          if not isinstance(self.output_data, dict):
              raise TypeError("output_data must be of type dict")
          self.check_input_data_type()