code: def _update_state(self, change):
          
          self._block_updates = True
          try:
              self.position = self.axis.Location()
              self.direction = self.axis.Direction()
          finally:
              self._block_updates = False
docs: Keep position and direction in sync with axis