Ivan Nemytchenko's central recommendation: instead of putting different kinds of code into building blocks of the same shape (service objects), find the right place and shape for each kind of work. Business rules → model. Low-level complex mutations → Mutator layer. Interactions with external systems → Manager layer. Business operations → stateless procedural services. Application logic (permissions, session, response prep, data preparation) → controller. Ivan cites 'standardization of components enables greater complexity' — achieved not through uniform shapes but through layer-appropriate shapes. Over time you accumulate many smaller building blocks instead of one growing monster.