anchor.diff:  		message_admins(bomb_message, 0, 1)
   		log_game("[log_str1] [A.name][COORD(bombturf)] [log_str2] [log_str3]")
   		merge_gases()
  -		spawn(20) // In case one tank bursts
  -			for (var/i=0,i<5,i++)
  -				src.update_icon()
  -				sleep(10)
  -			src.update_icon()
  +		for(var/i in 1 to 6)
  +			addtimer(CALLBACK(src, .proc/update_icon), 20 + (i - 1) * 10)
   
   	else if(valve_open && tank_one && tank_two)
   		split_gases()
   		valve_open = FALSE
  -		src.update_icon()
  +		update_icon()
   
   // this doesn't do anything but the timer etc. expects it to be here
   // eventually maybe have it update icon to show state (timer, prox etc.) like old bombs
  
positive.code: 
  /obj/item/device/transfer_valve/Topic(href, href_list)
  	..()
  	if ( usr.stat || usr.restrained() )
  		return
  	if (src.loc == usr)
  		if(tank_one && href_list["tankone"])
  			split_gases()
  			valve_open = FALSE
  			tank_one.loc = get_turf(src)
  			tank_one = null
  			update_icon()
  			if((!tank_two || tank_two.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL))
  				w_class = WEIGHT_CLASS_NORMAL
  		else if(tank_two && href_list["tanktwo"])
  			split_gases()
  			valve_open = FALSE
  			tank_two.loc = get_turf(src)
  			tank_two = null
  			update_icon()
  			if((!tank_one || tank_one.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL))
  				w_class = WEIGHT_CLASS_NORMAL
  		else if(href_list["open"])
  			toggle_valve()
  		else if(attached_device)
  			if(href_list["rem_device"])
  				attached_device.forceMove(get_turf(src))
  				attached_device.holder = null
  				attached_device = null
  				update_icon()
  			if(href_list["device"])
  				attached_device.attack_self(usr)
  
  		src.attack_self(usr)
  		src.add_fingerprint(usr)
  		return
  	return
  
  /obj/item/device/transfer_valve/proc/process_activation(obj/item/device/D)
  	if(toggle)
  		toggle = 0
  		toggle_valve()
  		spawn(50) // To stop a signal being spammed from a proxy sensor constantly going off or whatever
  			toggle = 1
  
  /obj/item/device/transfer_valve/update_icon()
  	cut_overlays()
  
negative.code: 	origin_tech = "materials=1;engineering=1"
  
  /obj/item/device/transfer_valve/IsAssemblyHolder()
  	return TRUE
  
  /obj/item/device/transfer_valve/attackby(obj/item/item, mob/user, params)
  	if(istype(item, /obj/item/tank))
  