on mUpdateObjects garbageList = [] call(#mUpdate, listOfObjects, garbageList) repeat with anObject in garbageList listOfObjects.deleteOne(anObject) end repeat end
on mUpdate (me, garbageList) if removeMe() then garbageList.append(me) else ...update as normal end