docs: function loadModels() {
    // Get models/
    var self = this,
        modelCtor = protos.lib.model,
        dbConfigAvailable = Object.keys(this.config.drivers).length > 0;
  
    protos.util.requireAllTo(this.mvcpath + "models", this.models, function(Ctor, file) {
      
      var name, model;
      
      if (Ctor instanceof Function) {
        
        // Protos model constructor
        if (dbConfigAvailable) {
          var origProto = Ctor.prototype;
          util.inherits(Ctor, modelCtor);
          protos.extend(Ctor.prototype, origProto);
          model = new Ctor(self);
          model.prepare(self);
          name = model.className[0].toLowerCase() + model.className.slice(1);
        } else {
          // No db config available, ignore
          return null;
        }
        
      } else {
        
        // Ctor is assumed to be an object
        model = Ctor;
        name = protos.inflect.camelize(file + '-model', true);
  
      }
      
      self[name] = model;
      
      self[name.replace(/Model$/, 'Driver')] = model.driver;
      
      return model;
  
    });
    
    this.emit('models_loaded', this.models);
  
  }