make metadata storage pluggable

can we also use an actual datasource object instead of a giant string blob?