Moved the Store interface to a real key/value store

We do it for `FilePath` which has restricted `FileName` components. I'll add the same here.