introduced MetadataAggregatorFactory, moved to separate package