from logger import Logger class AbstractNextStage(object): def __init__(self): self.nextStage = None def setNextStage(self, nextStage): self.nextStage = nextStage def executeNextStage(self, data): if self.nextStage is not None: self.nextStage.execute(data) else: Logger.log("no nextStage set") def execute(self, data): raise Exception("Not yet implemented") # last step is to execute nextStage