made initial abstraction of DataStoreSession to potentially model back ends other than JDBC (OGM, etc)