Made deferreds/Promise hold the bulk of the Promises/A+-compliant code instead of deferreds/Deferred, so it can function independently from Deferred when manual resolve/reject is not needed