Probably not needed to overload this, as caller I'll always know whether or not I intend to send binary data.

This would mean data for set can sometimes be a json, sometimes be binary - I would just leave it as binary_get/binary_set since return codes may be different as well