anchor.diff:  		RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), .proc/on_multitool_act)
   		RegisterSignal(parent, COMSIG_OBJ_DECONSTRUCT, .proc/on_object_deconstruct)
   	if(shell_flags & SHELL_FLAG_REQUIRE_ANCHOR)
  -		RegisterSignal(parent, COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH, .proc/on_unfasten)
  +		RegisterSignal(parent, COMSIG_MOVABLE_SET_ANCHORED, .proc/on_set_anchored)
   	RegisterSignal(parent, COMSIG_ATOM_USB_CABLE_TRY_ATTACH, .proc/on_atom_usb_cable_try_attach)
   	RegisterSignal(parent, COMSIG_MOVABLE_CIRCUIT_LOADED, .proc/on_load)
   
  
positive.code: 	attached_circuit.locked = FALSE
  
  	if(shell_flags & SHELL_FLAG_REQUIRE_ANCHOR)
  		on_unfasten(parent_atom, parent_atom.anchored)
  
  	if(circuitboard.loc != parent_atom)
  		circuitboard.forceMove(parent_atom)
  
negative.code: 	if(attached_circuit)
  		INVOKE_ASYNC(attached_circuit, /datum.proc/ui_interact, ghost)
  
  /datum/component/shell/proc/on_examine(atom/movable/source, mob/user, list/examine_text)
  	SIGNAL_HANDLER
  	if(!is_authorized(user))
  		return
  