anchor.diff:  /datum/controller/master/Destroy()
   	running = FALSE
   	//Give the loop thread some shutdown time
  -	sleep(3)
  +	while(looping)
  +		sleep(1)
   	for(var/datum/subsystem/ss in subsystems)
   		qdel(ss)
   	..()
  
positive.code: 
  	// Are we running?
  	var/running = TRUE
  	// Are we processing (higher values increase the processing delay by n ticks)
  	var/processing = 1
  	// How many times have we ran
  
negative.code: 	var/sleep_delta = 0
  	var/list/subsystems_to_check
  	//the actual loop.
  	looping = TRUE
  	while (running)
  		tickdrift = max(0, MC_AVERAGE_FAST(tickdrift, (((world.timeofday - init_timeofday) - (world.time - init_time)) / world.tick_lag)))
  		if (processing <= 0)
  