rearrange lifecycle callback order

Moves beforeCreate and beforeSave to run before the actual validation
takes place.