You should be able to pull some of this into the Collector - I think the Collector's __init__method should set the stat name and the start time, and the subclasses should just initialise the numbers and call their superclass's __init__.