Needlessly updated CaesarCipher with generics