Broke out implementation to separate class.  Switching to SOAP client instead of proxy classes to make faking and performance better.