anchor.diff:  	timer_id_dict |= SStimer.timer_id_dict
   	bucket_list |= SStimer.bucket_list
   
  +/**
  +  * # Timed Event
  +  *
  +  * This is the actual timer, it contains the callback and necessary data to maintain
  +  * the timer.
  +  *
  +  * See the documentation for the timer subsystem for an explanation of the buckets referenced
  +  * below in next and prev
  +  */
   /datum/timedevent
  +	/// ID used for timers when the TIMER_STOPPABLE flag is present
   	var/id
  +	/// The callback to invoke after the timer completes
   	var/datum/callback/callBack
  +	/// The time at which the callback should be invoked at
   	var/timeToRun
  +	/// The length of the timer
   	var/wait
  +	/// Unique hash generated when TIMER_UNIQUE flag is present
   	var/hash
   	/// The source of the timedevent, whatever called addtimer
   	var/source
  +	/// Flags associated with the timer, see _DEFINES/subsystems.dm
   	var/list/flags
  -	var/spent = 0 //time we ran the timer.
  -	var/name //for easy debugging.
  -	//cicular doublely linked list
  +	/// Time at which the timer was invoked or destroyed
  +	var/spent = 0
  +	/// An informative name generated for the timer as its representation in strings, useful for debugging
  +	var/name
  +	/// Next timed event in the bucket
   	var/datum/timedevent/next
  +	/// Previous timed event in the bucket
   	var/datum/timedevent/prev
   
   /datum/timedevent/New(datum/callback/callBack, wait, flags, hash, source)
  
positive.code: 			bucket_node = bucket_node.next
  		while(bucket_node && bucket_node != bucket_head)
  
  	bucket_list.len = 0
  	bucket_list.len = BUCKET_LEN
  
  	practical_offset = 1
  	bucket_count = 0
  	head_offset = world.time
  	bucket_resolution = world.tick_lag
  
  	alltimers += second_queue
  	if (!length(alltimers))
  		return
  
  	sortTim(alltimers, .proc/cmp_timer)
  
  	var/datum/timedevent/head = alltimers[1]
  
  	if (head.timeToRun < head_offset)
  		head_offset = head.timeToRun
  
  	var/new_bucket_count
  	var/i = 1
  	for (i in 1 to length(alltimers))
  
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)
  