Practical refactoring: turn each Active Record model into two objects. The write object contains only the business decisions (validations, state transitions, publishing events) and has no Active Record dependency or readers. The read object remains an Active Record class used for displaying data, including associations like has_many :comments. They communicate via events. Immediately cuts model size by roughly 80%.