refactored code into _fireCancelTimeout, which is now also called when an error is emitted.