make metadata storage pluggable

why do we use strings here?