Changes 0.4.2.5_r20193

@damondouglas I'm starting to review your pull request. Here are some additional changes that you can merge into your branch. Ping me if you need help. We can continue to work off your branch for additional changes. For sure the generated code will be outdated. If possible I'd like to sneak in some unit tests and mocks. 

Great job!!!