That's because if `produce` is called directly, it is not run before Klein hands off control - which is why the tests were passing before - since it had not got to the bit where Klein tried to close the connection. This makes sure that the connection doesn't close until the Producer does it by itself.