anchor.diff:  
   /datum/component/shell/proc/on_object_deconstruct()
   	SIGNAL_HANDLER
  -	if(!attached_circuit.admin_only)
  +	if(!attached_circuit?.admin_only)
   		remove_circuit()
   
   /datum/component/shell/proc/on_attack_ghost(datum/source, mob/dead/observer/ghost)
   	SIGNAL_HANDLER
  +	if(!is_authorized(ghost))
  +		return
  +
   	if(attached_circuit)
   		INVOKE_ASYNC(attached_circuit, /datum.proc/ui_interact, ghost)
   
   /datum/component/shell/proc/on_examine(datum/source, mob/user, list/examine_text)
   	SIGNAL_HANDLER
  +	if(!is_authorized(user))
  +		return
  +
   	if(!attached_circuit)
   		examine_text += span_notice("There is no integrated circuit attached.")
   		return
  
positive.code:  */
  /datum/component/shell/proc/on_attack_by(atom/source, obj/item/item, mob/living/attacker)
  	SIGNAL_HANDLER
  	if(istype(item, /obj/item/stock_parts/cell))
  		source.balloon_alert(attacker, "can't put cell in directly!")
  		return
  
negative.code:  */
  /datum/component/shell/proc/on_screwdriver_act(atom/source, mob/user, obj/item/tool)
  	SIGNAL_HANDLER
  	if(!is_authorized(user))
  		return
  
  	if(!attached_circuit)
  		return
  
  