eventLoop allows 'fail' to be overriden.