code: def add_watch_callback(self, *args, **kwargs):
          
          try:
              return self.watcher.add_callback(*args, **kwargs)
          except queue.Empty:
              raise exceptions.WatchTimedOut()
docs: Watch a key or range of keys and call a callback on every event.
  
          If timeout was declared during the client initialization and
          the watch cannot be created during that time the method raises
          a ``WatchTimedOut`` exception.
  
          :param key: key to watch
          :param callback: callback function
  
          :returns: watch_id. Later it could be used for cancelling watch.