Moved the Store interface to a real key/value store

Not that we do it for `FilePath` is there any validation we can do for these strings?