code: def every_match(self, callback, **kwargs):
          
  
          if len(kwargs) == 0:
              raise ArgumentError("You must specify at least one message field to wait on")
  
          spec = MessageSpec(**kwargs)
          responder = self._add_waiter(spec, callback)
  
          return (spec, responder)
docs: Invoke callback every time a matching message is received.
  
          The callback will be invoked directly inside process_message so that
          you can guarantee that it has been called by the time process_message
          has returned.
  
          The callback can be removed by a call to remove_waiter(), passing the
          handle object returned by this call to identify it.
  
          Args:
              callback (callable): A callable function that will be called as
                  callback(message) whenever a matching message is received.
  
          Returns:
              object: An opaque handle that can be passed to remove_waiter().
  
              This handle is the only way to remove this callback if you no
              longer want it to be called.