The RiakObject knows what its content-type and charset is.  I see what you are saying.  We could maybe put some of this logic into the RiakClient, or in the transport via the client, but we have to do it before the encoder/decoder is identified.

A question I had is do we want to worry about the charset being in the content-type instead of in charset.  If so, then I think it belongs in the RiakObject.  If we don't want to mess with it and only want the proper encoder/decoder, then we could push it down as you suggest.