Could you again just remove old_state by not saving self._state = msg until the end