I don't think this will work. MetricName uses getSuperClass which is a bit fragile. You can't override metricName because counter is already evaluated while ReceiveCounterActor is constructed (unless you have the initialization order exactly right). Perhaps making counter lazy would work better.