CCHS-11

It would be good to get some eyes on this.  Made these changes trying not to break existing functionality, so it should be able to merge but it can hold off until I'm all done as well.
Can everything after this be broken out into logical method calls so it's clear what steps happen in the process method? IE: initParams(), checkErrors(), setBlah(), etc?