refactored datastore into three classes: admin, client, and client utility mixin.