'Returns a deferred that is resolved when there is a new token
greater than the given token.
Args:
token: The token from which we are streaming from, i.e. we shouldn\'t
notify for things that happened before this.'

def new_listener(self, token):

    if self.last_notified_token.is_after(token):
        return _NotificationListener(defer.succeed(self.current_token))
    else:
        return _NotificationListener(self.notify_deferred.observe())
