Seems like we need a `fail()` case that here that calls `deferred.reject()`.