Changed calling hole service such that the code will try several times before reporting failure. This makes it so that one doesn't have to keep trying to call the function till service call succeeds. Wrote different code to reorient after piercing. Not yet tested if it works. But this just directly finds a rotation from old circle center to new circle center. Maybe I need to take into account the final needle transform because this is not exactly a circle. But since the hand moves in a circle, I assume this is fine. Will test soon.