Interesting, I never had that happen, I will test it out. Thank you for your feedback.
just ran into this. if i'm understanding the problem right, basically you should just clamp movement to at most the distance between the constructor and its destination (so if it needs to move 1, it doesn't move 2 and overshoot)
oh, that makes sense thank you.
Thank you for your explanation it really sped up debugging. I have fixed it now.