I think we're going to actually want to move away from returning just strings in this way. It causes a bit of a problem when we want to do things like signing. I'm thinking it might make more sense to do all the decrypting processing on the `packetlist` of a `message` and then return that processed `message` object again.

From there we could provide util methods to pull out the strings if the consumer wanted to do that. I ultimately want `decrypt` and `decryptAndVerifySignature` to return basically the same type.