Variable cleanup
Cache some of the Math object for more speed
Cache calculations when the handle is initially pressed, not every movement
Updated to latest