I fixed the direction issue. Use this in the same file (and remove the previous Direction statement).
Code:
BAD CODE[CODE]
You may want to change the whole OnLocationChange method to use OnMovement, and just do the base beforehand (which takes care of direction and the other shit).