docs: def wait_turns(self, turns, dt=None, *, cb=None):
          """Call ``self.engine.next_turn()`` ``n`` times, waiting ``self.turn_length`` in between
  
          If provided, call ``cb`` when done.
  
          :param turns: number of turns to wait
          :param dt: unused, just satisfies the clock
          :param cb: callback function to call when done, optional
          :return: ``None``
  
          """
          if turns == 0:
              if cb:
                  cb()
              return
          self.engine.next_turn()
          turns -= 1
          Clock.schedule_once(partial(self.wait_turns, turns, cb=cb), self.turn_length)