code: def wait(self, number, patience):
          
          # inspect indicator for our number
          waiting = int(self.client.get(self.keys.indicator)) != number
  
          # wait until someone announces our number
          while waiting:
              message = self.subscription.listen(patience)
              if message is None:
                  # timeout beyond patience, bump and try again
                  self.message('{} bumps'.format(number))
                  self.bump()
                  continue
              if message['type'] != 'message':
                  continue  # a subscribe message
  
              waiting = self.keys.number(message['data']) != number
  
          # our turn now
          self.message('{} started'.format(number))
docs: Waits and resets if necessary.