I guess the assumption here is that creating the codec instance is cheap? Just mentioning because how it is now, we'll create codec objects way more than we ever use them. In the rest of spark we only create codecs when we use them, it might be nice to just create them downstream.