#512 Agnostic Datastore

Resolves #512