code: def add_update_handler(self, callback):
          
          self._update_callbacks.append(callback)
          return self.UpdateHandlerRemover(lambda: self._update_callbacks.remove(callback))
docs: Args:
              callback:   The specified callback will be invoked when:
                          - A new node appears
                          - Node info for an existing node gets updated
                          - Node goes offline
          Returns:    Call remove() or try_remove() on the returned object to unregister the handler.