Removed useless generics
Reintroduced TResult parameter because it was useful in fact.
Implemented rebind() (in place of listen()).
Added TaskRef to implement rebind() with compile time type safety.
Renamed and added new utils interface
Managed null emitter Id.
A bit of rename and refactoring.
Added some Id helper classes