Changed the exposure for SCMStep so I can extend it in another plugin

We have several different SCM front ends that use the same back end. And to make it easier to configure I would like to be able to extend the SCMStep in our plugin. But if the class SCMStep and SCMStepDescriptor did not have the public state I could not access them in my plugin. 
Could also that I'm missing some thing simple.
I can send the class name as described in the example but it would be easier if I could create my own wrappers.