anchor.diff:  
   /obj/machinery/doorButtons/airlock_controller/proc/openDoor(obj/machinery/door/airlock/A)
   	if(exteriorAirlock && interiorAirlock && (!exteriorAirlock.density || !interiorAirlock.density))
  -		goIdle(1)
  +		goIdle(TRUE)
   		return
   	A.unbolt()
   	spawn()
   		if(A && A.open())
   			if(stat | (NOPOWER) && !lostPower && A && !QDELETED(A))
   				A.bolt()
  -		goIdle(1)
  +		goIdle(TRUE)
   
   /obj/machinery/doorButtons/airlock_controller/proc/goIdle(update)
  -	lostPower = 0
  +	lostPower = FALSE
   	busy = FALSE
   	if(update)
   		update_icon()
  
positive.code: /obj/machinery/doorButtons/airlock_controller/power_change()
  	..()
  	if(stat & NOPOWER)
  		lostPower = 1
  	else
  		if(!busy)
  			lostPower = 0
  	update_icon()
  
  /obj/machinery/doorButtons/airlock_controller/findObjsByTag()
  
negative.code: 		closeDoor(A)
  
  /obj/machinery/doorButtons/airlock_controller/proc/closeDoor(obj/machinery/door/airlock/A)
  	if(A.density)
  		goIdle()
  		return FALSE
  	update_icon()
  	A.safe = FALSE //Door crushies, manual door after all. Set every time in case someone changed it, safe doors can end up waiting forever.
  	A.unbolt()
  	if(A.close())
  		if(stat & NOPOWER || lostPower || !A || QDELETED(A))
  			goIdle(TRUE)
  			return FALSE
  		A.bolt()
  		goIdle(TRUE)
  		return TRUE
  	goIdle(TRUE)
  	return FALSE
  
  /obj/machinery/doorButtons/airlock_controller/proc/cycleClose(obj/machinery/door/airlock/A)
  	if(!A || !exteriorAirlock || !interiorAirlock)
  