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