generalize metadata

In this process i removed some unused and potentially dangerous cli apps for feature stores.
> I would prefer not to do this and just pass it as an argument. 

Agreed.

> There is possibly a case for putting it in a reader,

I suspect this might be the cause, but happy to wait and see what the usage pattern is like first.