These were originally split out from each other when the models for each of the different cart and digital types were included in this project. After it got split out, and after a lot of recent changes, it was apparent that this split was no longer necessary.
This also introduces a new helper class for holding all of the decryption args. This makes it so that the method signatures don't have to change so much.