split metadata field storage facility into a variant class