JSDeferred Promise.jsm, or, Promise.jsm based JSDeferred. The original version of JSDeferred is: http://github.com/cho45/jsdeferred