Refactored the `buildAttributes` method and split it into `validateAttributes` and `removeAttributes`.

- Added a few mixins
- Added new tests for mixins
- Added new tests for model attributes related stuff
should eventually either use isObjectID or isValidObjectID