Playing devil's advocate, why do we have ```register_cipher_adapter``` listed as part of our public interface for ```CipherBackend```? Won't the backend already register everything that's available upon instantiation so there's no need for user interaction?