Audience question: GitLab is a sophisticated application with complex login logic, but most people will never work on an app that big — isn't there a risk they'll just invent layers and add classes for the sake of it when a simpler approach would suffice? Ivan's answer: the proposed approach is simpler because almost nothing is added beyond what Rails already gives you — only the Mutator layer is genuinely new. In practice you don't add layers prematurely; simple one-line user creation stays in the controller, and only when it grows does it get extracted into a mutator, then into a service. The examples in the talk would actually look slightly smaller if he refactored them tomorrow.