Moved the Store interface to a real key/value store

Any reason for this not to be just Name? could be reused in a few spots.