OptionalbeforeOptionalafterOptionalbeforeOptionalafterOptionalbeforeOptionalafterOptionalbeforeOptionalafterOptionalbeforeOptionalafterOptionalbeforeOptionalafterOptionalbeforeOptionalafterOptionalbeforeOptionalafterOptionalbeforeOptionalafter
The lifecycle callbacks a model can declare.
beforeSave/afterSavewrap both create and update, so shared logic belongs there rather than duplicated across the pair.