DataStore class (not tested)