I think each service should do only 1 thing & creating shipments + processing them (updating states) is more than 1. :) Yeah, we'll end up with quite a lot of services, but their purpose will be clear enough to be comfortable working with them. Also, overriding will be easier.