code: def fire(self, *args, **kwargs):
          
          for token, coro in list(self._connections.items()):
              keep = yield from coro(*args, **kwargs)
              if not keep:
                  del self._connections[token]
docs: Emit the signal, calling all coroutines in-line with the given
          arguments and in the order they were registered.
  
          This is obviously a coroutine.
  
          Instead of calling :meth:`fire` explicitly, the ad-hoc signal object
          itself can be called, too.