why is the "metastore" different from the actual store? is it ever a good idea to store metadata separately from the experiment data? can't the store just implement both interfaces (or can't the store interface just  have an extra method?)