implemented a simple persisted async keyvalue store