anchor.diff:  	src.timeToRun = timeToRun
   	src.flags = flags
   	src.hash = hash
  -
  +	
  +	name = "Timer: [id]: TTR: [timeToRun], Flags: [jointext(bitfield2list(flags, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT")), ", ")], callBack: \ref[callBack], callBack.object: [callBack.object]\ref[callBack.object]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])"
  +	
   	if (flags & TIMER_UNIQUE)
   		SStimer.hashes[hash] = src
   	if (flags & TIMER_STOPPABLE)
  
positive.code: 	var/hash
  	var/list/flags
  	var/spent = FALSE //set to true right before running.
  
  	//cicular doublely linked list
  	var/datum/timedevent/next
  	var/datum/timedevent/prev
  
negative.code: 	prev = null
  	return QDEL_HINT_IWILLGC
  
  /datum/timedevent/proc/getcallingtype()
  	. = "ERROR"
  	if (callBack.object == GLOBAL_PROC)
  		. = "GLOBAL_PROC"
  	else
  		. = "[callBack.object.type]"
  
  /proc/addtimer(datum/callback/callback, wait, flags)
  	if (!callback)
  		return
  