Separated into ModelMixin