since jquery 1.8 they fixed the most outrageous limitation with their deferred implementation (then should return a new promise), and I actually prefer their implementation.
that said, i make use of underscore.deferred, which is the jquery implementation as an underscore mixin.