Fixed a problem in the synchronization of startDelayed animations. on every frame, we walk the list of currently sleeping animations to see if it's time to wake them up. If so, we start() each one. However, the start() function modifies this same list by removing the started animation, so our list-walking loop essentially skips the following item on the list. When two animations have the same startDelay, this means that there may be an intervening frame before the second one is started, potentially causing an artifact like that seen in the bug example.