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
yeah so i realized that they do the exact same thing lol, so for deprecation i kept it just in case