<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fire(self, *args, **kwargs):
 """ 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. """

        for token, coro in list(self._connections.items()):
            keep = yield from coro(*args, **kwargs)
            if not keep:
                del self._connections[token]