I would actually move the decoder hashes init inside init_lambda, which would avoid creating ivars for all single decoders. the only ivars we really care for in this class are the hashes containing the references to the decoder lambdas.