Fix post hooks execution

Without break statements in the switch there can be multiple post hooks executed in one save() step.

Without a check for modified state column, post hooks are executed on every save.