docs: function(api, modelDefinition) {
  		this.parentAPI = api;
  		this.childModels = [];
  
  		this.initialized = false;
  
  		this.model = modelDefinition.model;
  		this.path = this.model.tableName.toLowerCase();
  		this.modelRouter = Express.Router();
  		this.primaryKey = Helpers.getPrimaryKey(this.model);
  
  		/**
  		 * Array of valid columns in the class minus the primary key
  		 * However the primary key is only 'not valid' to be set if it is
  		 * marked as auto-generated.
  		 */
  		this.validColumns = _.keys(this.model.rawAttributes);
  
  		if(this.model.rawAttributes[this.primaryKey]._autoGenerated)
  			this.validColumns.splice(this.validColumns.indexOf(this.primaryKey), 1);
  
  		this._initializeOptions(modelDefinition);
  		this._initializeAssociationOptions(modelDefinition);
  		this._initializeRoutes(modelDefinition);
  
  		this.filter = Helpers.mergeTriplicate({
  			// If this is filled out, don't allow these parameters to be used.
  			blacklist: [],
  
  			// If this is filled out, ONLY allow these parameters to be used.
  			whitelist: [],
  
  			// Include these fields in output
  			include: [],
  
  			// Exclude these fields from output
  			exclude: []
  		}, this.model.filter || {}, modelDefinition.filter || {});
  	}