'Register a callback to call when a value or an exception is
set'

def rawlink(self, callback):

    with self._condition:
        if self.ready():
            self._handler.completion_queue.put((lambda : callback(self)))
            return
        if (callback not in self._callbacks):
            self._callbacks.append(callback)
