- require callbacks for 'append' & 'delete'
- habtm dependent cannot delete or destroy
- change 'shouldSetChild' to 'inverseOf: nil'
- use async library
- remove "this.schema.paths[this.pathName].options[this.type] = this.model;"
- abstract "if (child.constructor.modelName !== relationship.ref) {"
- check if concat is correct
- concat should save parent when necessary
- in a hasMany relationship the parent should not hold child ids
- clean up test models (i.e. pets should be in many categories, and belong to one owner)