anchor.diff:  		add_light(starting_light)
   
   /datum/component/seclite_attachable/RegisterWithParent()
  -	RegisterSignal(parent, COMSIG_ATOM_DESTRUCTION, .proc/on_parent_deconstructed)
  +	RegisterSignal(parent, COMSIG_OBJ_DECONSTRUCT, .proc/on_parent_deconstructed)
   	RegisterSignal(parent, COMSIG_ATOM_EXITED, .proc/on_light_exit)
   	RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER), .proc/on_screwdriver)
   	RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON_STATE, .proc/on_update_icon_state)
  
positive.code: 
  /datum/component/seclite_attachable/UnregisterFromParent()
  	UnregisterSignal(parent, list(
  		COMSIG_ATOM_DESTRUCTION,
  		COMSIG_ATOM_EXITED,
  		COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER),
  		COMSIG_ATOM_UPDATE_ICON_STATE,
  
negative.code: 	if(gone == light)
  		remove_light()
  
  /// Signal proc for [COMSIG_OBJ_DECONSTRUCT] that drops our light to the ground if our parent is deconstructed.
  /datum/component/seclite_attachable/proc/on_parent_deconstructed(obj/item/source, disassembled)
  	SIGNAL_HANDLER
  
  	// Our light is gone already - Probably destroyed by whatever destroyed our parent. Just remove it.
  	if(QDELETED(light) || !is_light_removable)
  		remove_light()
  		return
  
  	// We were deconstructed in any other way, so we can just drop the light on the ground (which removes it via signal).
  	light.forceMove(source.drop_location())
  
  /// Signal proc for [COMSIG_PARENT_QDELETING] that deletes our light if our parent is deleted.
  