use this where possible. use bind for error emitter callback.