Initial validator refactoring
Introduced validation life cycle
Fix validation on save