Refactored valid? into the DomainModel module
Moved the clear_violations call into the DomainModel parent validate method