docs: function(key, val) {
      var len = arguments.length;
      if (typeof key === 'string' && len === 1) {
        return lazy.get(this.options, key);
      }
  
      if (typeof key === 'object') {
        this.visit('option', key);
        return this;
      }
  
      lazy.set(this.options, key, val);
      this.emit('option', key, val);
      return this;
    }