Improved collision support to stop movement based on direction.

There is still more work to do to improve this solution but it is a
start.