ahhh, was just doing some other things, totally unrelated to work; and it just struck me that this code might cause issues in case the method `start` gets called before the `emptyPort` callback is triggered... don't know if that is what was causing the problem on the tests (probably not) but it could happen in some extreme edge-cases (specially if the async operation took a lot of time to complete).

another reason for not adding any logic that causes *side effects* (or async operations) to the constructor. It might lead to some really hard to debug bugs. - I should definitely write a post about that on my blog soon..