docs: function Advisor() {
    /**
     * Add a new Governor
     *
     * @name streams
     * @instance
     * @memberof Advisor
     */
    this.streams = {};
  
    /**
     * Add a new Governor
     *
     * @name actions
     * @instance
     * @memberof Advisor
     */
    this.actions = {};
  
    /**
     * Add a new Governor
     *
     * @name expertise
     * @instance
     * @memberof Advisor
     */
    // this.expertise = {};
  
    /**
     * Add a new Governor
     *
     * @name helpers
     * @instance
     * @memberof Advisor
     */
    if(this.helpers) {
      this.helpers = reduce(this.helpers, function(accumHelpers, func, name) {
        accumHelpers[name] = bind(func, this);
        return accumHelpers;
      }, {}, this);
    }
  
    if(this.autocrat) {
      this.initialize(this.autocrat.advisors, this.autocrat.wards);
    }
  
    if(!this.name) {
      var nameCapCamel = this.constructor.name.replace(/advisor/i,'');
      this.name = nameCapCamel[0].toLowerCase() + nameCapCamel.slice(1);
    }
  
    var notExpertise = ['name', 'helpers', 'initialize', 'constructor'];
    var protoKeys = keys(this.constructor.prototype);
    var expertiseNames = without.apply(null, [protoKeys].concat(notExpertise));
    // var expertise = pick(this.constructor.prototype, expertiseNames);
    forEach(this.expertise, this.addExpertise, this);
  }