I can see value in being able to see all that happens when save is called in one place. Not sure it's worth the downsides though. People have been railing (ha) against callbacks for years, and I used to be onboard with that. But I've come back around to them. They are pervasive through Rails libraries, so trying to avoid them seems a bit daft. You can look at the model and see the callback structure right there. And callbacks have a facility for wrapping up shared callbacks by using callback classes. Service objects (otherwise known as making controllers fatter by putting what they're doing somewhere else although at least its reusable 😁) help as a place to put code that shouldn't be a callback.