class Console(Gear): def __init__(self, display): super(Console, self).__init__(display) self.loadDefaultState() def loadDefaultState(self): self.state = Menu(self.display) self.state.kick() def tick(self): self.state.tick() if self.state.done: next = self.state.next if next is EXIT: self.done = True elif next is None: #print "no new state..." self.loadDefaultState() else: self.state = self.state.next #print "new state: %s" % self.state self.state.kick()