this simplifies the API A problem is that the error callback should fire before setting it up. Hence, if we are in a fiber, and if we expected to yield after setting up callbacks/errbacks. We would resume the fiber before yielding it, generating a double resume error. We work around this problem by calling :close/:on_error at next tick. Hence, the errback's fiber will predictably be EM's reactor fiber.