docs: function Autocrat(options) {
    this.options = parseOptions(this, options);
  
    /**
     * A namespace to host members related to observing state/Autocrat activity
     *
     * @name surveillance
     * @namespace
     */
    surveillance.serveAutocrat(this);
    this.surveillance = surveillance;
  
    /**
     * Has a dual nature as both an array and a namespace. The array members are
     * plugins, which are essentially mixins for the Autocrat singleton. 
     * The namespace is used a general storage for plugin related methods and
     * information
     *
     * @name constitution
     * @namespace
     */
    constitution.serveAutocrat(this);
  
    Ward.serveAutocrat(this);
    this.Ward = Ward;
  
    Advisor.serveAutocrat(this);
    this.Advisor = Advisor;
  
    Governor.serveAutocrat(this);
    this.Governor = Governor;
  
    Domain.serveAutocrat(this);
    this.Domain = Domain;
  
    Law.serveAutocrat(this);
    this.Law = Law;
  }