Updated MetricListener. It has some gliches, but once we get them ironed
out and flesh out the TODOs the class should do everything we need it to
do, except print the metrics.