Add `onFailure` closure in quest to remove explicit callbacks everywhere