Deferred.prototype.fail = function( failCallback ){
        var d = new Deferred();
        this.state.fail.call(this,
          failCallback || defaultFailCallback, d);
        return d;