code: function upgrade() {
    if (!this.active) {
      return this;
    }
    return this.call(
      'system.listComponents',
      this.localComponents,
      (function(err, result) {
        if (!err && typeof result === 'object') {
          this.remoteComponents = result;
          this.remoteComponents['system._upgraded'] = true;
        }
      }).bind(this)
    );
  }
docs: Handshake to discover remote extended capabilities
  
  @return {JRPC} This instance, for chaining