docs: function PromiseConstructor(executor, options) {
              // apply mixin
              var cancelable = makeCancelable($.Deferred(), options);
              $.extend(true, this, cancelable.df, cancelable.target);
              this.abort = cancelable.abort.bind(this);
              this.dependOn = cancelable.dependOn.bind(this);
              executor(this.resolve, this.reject, this.dependOn);
          }