Type coercion is now the responsibility of StepInvoker and so takes place remotely for remote step invocations
The step arguments corresponding to the groups in the step pattern are passed as List<String>
This means the interpreter doesn't have to have remote class definitions in its classpath, which it would need to preform local type coercion (e.g. for enum types) and will also play nicely with remoting to non-java components