Another thing that would be nice about generalizing the storage backend at the Client/ClientFactory level (ie having the CassandraClient and MongoClient implement a common client & factory interface vs branching immediately based on enums) is that we could probably throw out a lot of the gross hacks we currently put into the TTD version of the C* client, and just have a separate TTDClient and TTDClientFactory that is completely state-store agnostic.
We could even make it fully pluggable so that users could choose whether to run with the mock client or use one of the real storage backends, eg with a container setup. I think that would be pretty slick
Obviously can/should be a followup project, just thinking out loud here
Originally posted by @ableegoldman in #164 (comment)