yeap, i thought so too. but this is Magic :)
starling guys use this technique to maintain objects array while processing advanceTime. while processing one of functions, it can remove itself, or add new Animatable object. in this case loop through objects in advanceTime function should be smart:
 - for removing case, we should be careful to not skip one of the objects in line,
 - for adding case, in general, we should not call advanceTime of currently processing function.
i like this approach, it looks really smart