Fix Error handling for generator

A generator raising an exception will now correctly emit an `error` event.
This can be used in unit test as the error event is now binded between the generator and its run context. 
The function name doesn't represent what this function does - only what you use it to do. Rename it to `setListeners` or a similar one.