code: def push_state(self):
          
  
          new = dict(self.states[-1])
          self.states.append(new)
          return self.state
docs: Push a copy of the topmost state on top of the state stack,
          returns the new top.