 			return null;
 		}
 		
+		private function findMousedLink():DLink {
+			if (U.buttonManager.moused)
+				return null;
+			
+			for each (var link:DLink in displayLinks)
+				if (link.link.mouseable && link.overlapsPoint(U.mouseFlxLoc))
+					return link;
+			return null;
+		}
+		
 		
 		private function checkMenuState():void {
 			deleteHint.exists = canDelete();

				if (ControlSet.DELETE_KEY.enabled && ControlSet.DELETE_KEY.pressed() && !currentBloc) {
					destroyModules();
					destroyWires();
				}
				
				if (ControlSet.PASTE_KEY.justPressed() && U.clipboard) {

				new CustomAction(Wire.remove, Wire.place, mousedWire.wire).execute();
		}
		
		private function destroyLinks():void {
			var mousedLink:DLink = findMousedLink();
			if (mousedLink)
				new CustomAction(Link.remove, Link.place, mousedLink.link).execute();
		}
		
		public function ensureNothingHeld():void {
			if (currentBloc) {
				currentBloc.unravel();
