Added validations, callbacks, relations, and test structure for base models