More reflection, collision handling, refactoring, etc
Reverse behavior of left/approach with reflection to behave correctly