added in top-level CodecRegistry as well as refactored to support more configuration.