code: function Impromptu() {
    this.state = new Impromptu.State()
    this._setRootPath(Impromptu.DEFAULT_CONFIG_DIR)
  
    this.log = new Impromptu.Log(this.state)
    this.exec = Impromptu.Exec(this.log)
    this.color = new Impromptu.Color(this.state)
    this.repository = new Impromptu.RepositoryFactory()
    this.db = new Impromptu.DB()
  
    this.cache = new Impromptu.CacheFactory(this.state)
    this._addCacheProviders()
  
    this.module = new Impromptu.ModuleFactory(this)
    this.plugin = new Impromptu.PluginFactory(this.cache)
    this._loadPlugins = this.plugin.claimPluginLoader()
    this.prompt = new Impromptu.Prompt(this.color)
  }
docs: The base Impromptu class.
  @constructor