Measure Metadata: MetadataMeasureSource
 * Replaces AbstractMeasureSource as base class for measure sources
 * Derived classes define MetadataIds to use via protected property set
 * Behavior should be unchanged if MetadataIds is not set