class IProcessor: def __init__(self): raise NotImplementedError() def process(self, name, timestamp, data, controller): pass class CountingProcessor(IProcessor): def __init__(self, destination): self.destination = destination def process(self,name,timestamp,data,controller): current = controller.get(self.destination,None) if not current: current = 0 current = int(current) controller.put(self.destination, timestamp, current + 1)