docs: def _execute(self, execute_inputs, execute_outputs, backward_execution=False):
          """Calls the custom execute function of the script.py of the state
  
          """
          self._script.build_module()
  
          outcome_item = self._script.execute(self, execute_inputs, execute_outputs, backward_execution)
  
          # in the case of backward execution the outcome is not relevant
          if backward_execution:
              return
  
          # If the state was preempted, the state must be left on the preempted outcome
          if self.preempted:
              return Outcome(-2, "preempted")
  
          # Outcome id was returned
          if outcome_item in self.outcomes:
              return self.outcomes[outcome_item]
  
          # Outcome name was returned
          for outcome_id, outcome in self.outcomes.items():
              if outcome.name == outcome_item:
                  return self.outcomes[outcome_id]
  
          logger.error("Returned outcome of {0} not existing: {1}".format(self, outcome_item))
          return Outcome(-1, "aborted")