code: function ModelAPIExpress(options) {
    options = options || {};
    var app = express();
    app.__proto__ = ModelAPIExpress.prototype;
    app.$__ = {};
    app.$__.options = options;
    app._urls = [];
    app._urlsDefined = false;
  
    app.use(middlewares.registerApi(true, this));
  
    var transformResponse = options.transformResponse instanceof Function ?
      options.transformResponse :
      null
    ;
  
    if (transformResponse) {
      app.use(middlewares.transformResponse(transformResponse));
    }
  
    app.on('mount', app.__finalize.bind(app));
  
    var __originalListen = app.listen;
    app.listen = function() {
      app.__finalize();
      return __originalListen.apply(app, arguments);
    }
  
    return app;
  }
docs: @class ModelAPIExpress - Express application that provides an RESTfull API for different models
  
  @param  {Object} [options]         API configuration parameters
  @param  {String} options.title    the title of API <SWAGGER>
  @param  {String} options.version  the version of API <SWAGGER>
  @param  {String} options.path     the path of api root. The application doesn't mount it self on this path. <SWAGGER>
  @param  {String} options.host     the host to reach API. <SWAGGER>
  @param  {Boolean} [options.options]  allows or denies the OPTION end-point on the application level
  @param  {Function} [options.transformResponse] the function to transform standard response. For details see Transform response
  @return {ModelAPIExpress}         Created API application