Why return deferral.promise in two locations though?  This way we can do it just once.