anchor.diff:  			timer.prev.next = timer
   		if (i)
   			second_queue.Cut(1, i+1)
  -
   		timer = null
   
  -	bucket_count -= length(spent)
  -
  -	for (var/datum/timedevent/qtimer in spent)
  +	// Process each invoked timer
  +	bucket_count -= length(invoked_timers)
  +	for (var/datum/timedevent/qtimer in invoked_timers)
   		if(QDELETED(qtimer))
   			bucket_count++
   			continue
  
positive.code: 	next.prev = src
  	prev.next = src
  
  ///Returns a string of the type of the callback for this timer
  /datum/timedevent/proc/getcallingtype()
  	. = "ERROR"
  	if (callBack.object == GLOBAL_PROC)
  
negative.code: 	if(!TE.callBack)
  		. += ", NO CALLBACK"
  
  /**
    * Destroys the existing buckets and creates new buckets from the existing timed events
    */
  /datum/controller/subsystem/timer/proc/reset_buckets()
  	var/list/bucket_list = src.bucket_list // Store local reference to datum var, this is faster
  	var/list/alltimers = list()
  
  	// Get all timers currently in the buckets
  	for (var/bucket_head in bucket_list)
  		if (!bucket_head) // if bucket is empty for this tick
  			continue
  		var/datum/timedevent/bucket_node = bucket_head
  		do
  