Handle 6 or more arguments to StateSetter.

In some cases I want to pass more than 6 arguments
but I can not. This change uses the optimized code path for most people
however it falls back to apply to handle the rare use case of many
arguments, instead of just silently failing.
Let's just use `apply` always, I don't think we're getting anything by limiting arguments here.