anchor.diff:  /datum/controller/subsystem/demo/proc/mark_dirty(atom/movable/M)
   	if(!isobj(M) && !ismob(M))
   		return
  -	if(M.gc_destroyed)
  +	if(QDELING(M))
   		return
   	if(!marked_new[M])
   		marked_dirty[M] = TRUE
  
positive.code: /datum/controller/subsystem/demo/proc/mark_new(atom/movable/M)
  	if(!isobj(M) && !ismob(M))
  		return
  	if(M.gc_destroyed)
  		return
  	marked_new[M] = TRUE
  	if(marked_dirty[M])
  
negative.code: 		last_completed++
  		var/atom/movable/M = marked_dirty[marked_dirty.len]
  		marked_dirty.len--
  		if(QDELETED(M))
  			continue
  		if(M.loc == M.demo_last_loc && M.appearance == M.demo_last_appearance)
  			continue
  