Ditching Active Record Callbacks

This is the practical example of refactoring. The author changes the shape of code—without changing behavior—and now it can be seen in a different light.

This is the first step towards a healthier code base. The immediate transformation doesn’t feel like much of an improvement. It looks worse.

Making things worse is a necessary step. It’s the acknowledgement that a problem exists. Only after this acknowledgement takes place can transformation begin.