Refactoring for anonymous model

This addresses an issue with switching the encryptors between tests. Since it was using a shared model, there was some weirdness when re-initializing `crypt_keeper` each time. It could leave artifacts and just isn't designed to be used like that.

By using anonymous models, there is no leakage between tests.