Rework the metrics stuff to not use AOP.