Context is in fact required. It is typically sent in via the `permit` call, setting it to self. `#in_context` is also available for altering the context manually. I agree though that context would fit better as the first parameter instead manipulating the arguments they way they are handled now. Also updating to accept an array of attributes instead of using the splat.