fires direction change event only if the direction has changed