first refactor, prepare to add Riak::Light::Driver