Refactor large after_save method