docs: def wait_for_fresh_games(self, poll_interval=15.0):
          """Block caller until required new games have been played.
  
          Args:
            poll_interval:  number of seconds to wait between checks
  
          If the cell `table_state=metadata:wait_for_game_number` exists,
          then block the caller, checking every `poll_interval` seconds,
          until `table_state=metadata:game_counter is at least the value
          in that cell.
          """
          wait_until_game = self.read_wait_cell()
          if not wait_until_game:
              return
          latest_game = self.latest_game_number
          last_latest = latest_game
          while latest_game < wait_until_game:
              utils.dbg('Latest game {} not yet at required game {} '
                        '(+{}, {:0.3f} games/sec)'.format(
                            latest_game,
                            wait_until_game,
                            latest_game - last_latest,
                            (latest_game - last_latest) / poll_interval
                        ))
              time.sleep(poll_interval)
              last_latest = latest_game
              latest_game = self.latest_game_number