anchor.diff:  	next.prev = src
   	prev.next = src
   
  -///Returns a string of the type of the callback for this timer
  +/**
  +  * Returns a string of the type of the callback for this timer
  +  */
   /datum/timedevent/proc/getcallingtype()
   	. = "ERROR"
   	if (callBack.object == GLOBAL_PROC)
  
positive.code: 			timer.prev.next = timer
  		if (i)
  			second_queue.Cut(1, i+1)
  
  		timer = null
  
  	bucket_count -= length(spent)
  
  	for (var/i in spent)
  		var/datum/timedevent/qtimer = i
  		if(QDELETED(qtimer))
  			bucket_count++
  			continue
  		if(!(qtimer.flags & TIMER_LOOP))
  			qdel(qtimer)
  		else
  			bucket_count++
  			qtimer.spent = 0
  			qtimer.bucketEject()
  			if(qtimer.flags & TIMER_CLIENT_TIME)
  				qtimer.timeToRun = REALTIMEOFDAY + qtimer.wait
  			else
  				qtimer.timeToRun = world.time + qtimer.wait
  			qtimer.bucketJoin()
  
  	spent.len = 0
  
  //formated this way to be runtime resistant
  /datum/controller/subsystem/timer/proc/get_timer_debug_string(datum/timedevent/TE)
  	. = "Timer: [TE]"
  	. += "Prev: [TE.prev ? TE.prev : "NULL"], Next: [TE.next ? TE.next : "NULL"]"
  
negative.code: 		return FALSE
  	if (id == TIMER_ID_NULL)
  		CRASH("Tried to delete a null timerid. Use TIMER_STOPPABLE flag")
  	if (istype(id, /datum/timedevent))
  		qdel(id)
  		return TRUE
  	//id is string
  	var/datum/timedevent/timer = SStimer.timer_id_dict[id]
  	if (timer && !timer.spent)
  