only update hierarchy if we change class
return early on save error
move log writing for validation error to post_validate