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 ;)

Edit: I added also an improved UT, which checks the role removing any dependancy.
What's not done is checking that the calls to write() are done int the correct order, which seems to be quite important for the setup sequence, so it might be worth testing.