anchor.diff:  
   	if(!thing.managed_vis_overlays)
   		thing.managed_vis_overlays = list(overlay)
  -		RegisterSignal(thing, COMSIG_ATOM_DIR_CHANGE, rotate_cb)
   	else
   		thing.managed_vis_overlays += overlay
   	return overlay
  
positive.code: 	init_order = INIT_ORDER_VIS
  
  	var/list/vis_overlay_cache
  	var/list/unique_vis_overlays
  	var/list/currentrun
  	var/datum/callback/rotate_cb
  
  /datum/controller/subsystem/vis_overlays/Initialize()
  	vis_overlay_cache = list()
  	unique_vis_overlays = list()
  	rotate_cb = CALLBACK(src, .proc/rotate_vis_overlay)
  	return ..()
  
  /datum/controller/subsystem/vis_overlays/fire(resumed = FALSE)
  
negative.code: 		return
  	thing.managed_vis_overlays -= overlays
  	if(!length(thing.managed_vis_overlays))
  		thing.managed_vis_overlays = null