Use more requires instead of autoload.
Get attributes and attribute_types from superclass to inherit attributes in subclasses.
Add validations support for save action.
Update CHANGELOG