Refactoring `Deferred` factory to utilize `utility.when()` to avoid recursion