Bundling params from the view/controller/JavaScript into a hash that flows through form objects, services and models produces coarse, unclear operations like 'update user'. Instead, be granular: translate the input into a specific command such as 'change email' at the earliest sensible point so the rest of the system deals with intention, not shapes of request data.