code: def _transition_loop(self):
          
          while self._transitions:
              start = time.time()
              for transition in self._transitions:
                  transition.step()
                  if transition.finished:
                      self._transitions.remove(transition)
  
              time_delta = time.time() - start
              sleep_time = max(0, self.MIN_STEP_TIME - time_delta)
              time.sleep(sleep_time)
docs: Execute all queued transitions step by step.