question-1: ----------- You should assume that the '_data' Object of the node in the Graph is Copiable. question-3: ----------- - Clarification: Gui.start() activates a mechanism (which is called 'timer') inside Gui, that calls App.advance() every certain time interval. The mechanism continues until Gui.stop() is called. The idea is that the function advance() will cause a *single* move of *a* ball. - The velocities of the balls should be 1,2,..,n.