Your description is good, but I don't know why you would see that.
If I was you, I would re-write the movement code using vizmat.Transform or with a system of 3D nodes with parent/child relationships. That way we can see what is going on and not have all that action buried in a link object.
Probably not what you want to hear. Hopefully I'm just missing something.