code: function Cms(module, with_app) {
    if (!module)
      throw new Error('Requires a module');
    if (!module.config)
      throw new Error('Module requires config');
    if (!module.config.name)
      logger.info('No name specified in config. Calling it null.')
    if (!module.config.mongoConnectString)
      throw new Error('Config requires mongoConnectString');
    if (!module.models)
      throw new Error('Module requires models');
    // module info and shortcut to configuration
    this.module = module;
    this.config = module.config;
    // connection to mongo
    this.connection = null;
    // the storage client
    this.client = null;
    // gridfs storage (untested)
    this.gfs = null;
    // the express app
    this.app = null;
    // login, logout
    this.auth = null;
    // meta info for models
    this.meta = null;
    // guard manages view permissions
    this.guard = null;
    // workflow provides state transition info to view
    this.workflow = null;
  
    logger.info('cms init');
    //process.nextTick(this._init.bind(this));
    this._init(with_app === undefined ? true : with_app);
  }
docs: Construct the Cms with a module. Cms ready modules must export at least `models` and `config`.
  @constructor