call_later should call write() not its result

unit tests still passes.

This is an interesting case where testing an object behaviour is tricky.
The unit test relied on the call to write() which happened, but at the wrong time.

I'm tempted to rewrite the unit tests for the transports, which are anyway quite empty :)

Having them written in a more complete way would have let you catch it earlier.
I might submit eventually something on the UT side ;)