lib/perform.js
function( kind ) {
  return function() {
    if ( this.state === 'pending' ) {
      if ( kind !== 'progress' ) {
        this[ kind + 'Args' ] = arguments;
        this.state = this.promise.state = kind;
      }
      callSets.call( this, kind, arguments );
    }
    return this;
  };
}
function( kind ) {
  return function() {
    if ( this.state === 'pending' ) {
      if ( kind !== 'progress' ) {
        this[ kind + 'Args' ] = arguments;
        this.state = this.promise.state = kind;
      }
      callSets.call( this, kind, arguments );
    }
    return this;
  };
}
pass judgement onto thy deferred