docs: def join(self):
          """ Waits until the state finished execution.
  
          """
          if self.thread:
              self.thread.join()
              self.thread = None
          else:
              logger.debug("Cannot join {0}, as the state hasn't been started, yet or is already finished!".format(self))