Introduce RateCounter abstract class; make DecayCounter extend it

And replace DecayCounterSnapshot with new RateCounterSnapshot