Added some newlines for readability.
Implemented 'on' option for validations.
Added tests for on create/update/save