Ivan Nemytchenko's 'dirty hack' for keeping models lean: scopes are shortcuts for fetching data sets, not domain logic, so move them into a dedicated concern and include it in the model. Rails still sees them inside the class, models stay clean, and the concern functions as a lightweight repository layer. What stays in the model: associations, business rules, state machines, defaults (and a few small methods like those used by null objects).