docs: async function init () {
      // initialze logging
      initLogging(this.immutableApp)
      // initialize global dir config by merging module configs
      initDir(this.immutableApp)
      // initalize handlebars
      initHandlebars(this.immutableApp)
      // initalize express request handling - bodyParser, cookieParser, etc
      initExpress(this.immutableApp)
      // initialize app
      initApp(this.immutableApp)
      // add error handler after all other middleware and routers
      initErrorHandler(this.immutableApp)
      // initialize models
      await initModels(this.immutableApp)
      // intialize components after models since they may use models
      initComponents(this.immutableApp)
      // initialize services after models since they may use models
      await initServices(this.immutableApp)
      // set initialize flag to true
      this.immutableApp.initialized = true
      // debug
      debug('init', this.immutableApp)
  }