Defensive array copying done with Timer listeners, since setTimeout's listener, when called, would remove itself from the listeners list.