I also make a version a few years before from the view point of robot kinematics. Your different solution of GUI and GraphicsComplex is good for speed. One playful idea of Rubik's snake. Control the joints to transform for one sort of status to another. E.g. bar to ball. As all joints status are changing, constantly. It will look like a real snake.
Rubik's Snake Puzzle
