A Multi-valued, generic Metadata container class. The class uses an internal Map of string keys pointing to vectors of strings. The data structure looks like the following: [std:string key]⇒std:vector of std:strings The multi-valued nature of the class is handled transparently by this Metadata container. Since all values are stored internally as string vectors, the difference between a scalar value and a non-scalar is handled by determining whether the list of values for a particular key is greater than 1.