code review...

Should reside in Metric class, and use the Match...Joiner instead of doing it manually. Perhaps the metric cleanup logic should also reside in the Metric.