code: function (func) {
  		if (!(this instanceof Deferred)) {
  			return new Deferred();
  		}
  		this._doneFuncs = [];
  		this._failFuncs = [];
  		this._resultArgs = null;
  		this._status = '';
  		// Check for option `function` -- call it with this as context and as first
  		// parameter, as specified in jQuery API.
  		if (func) {
  			func.call(this, this);
  		}
  	}
docs: ====== LEGACY DEFERRED DEFINITION ======= _Lightweight, jQuery style deferreds._ extend is usually provided by the wrapper but to avoid steal.then calls we define a simple extend here as well