protected void move( GameObject obj, Location l1 ) {
			Location l0 = obj.getLocation();
			boolean movedBetweenContainers = l0.container != l1.container;
			if( movedBetweenContainers ) {
				// Disconnect anything attached to the exterior!
				for( GameObject o : obj.getExterior().getContents() ) {
					if( o instanceof Connector ) {
						Connectors.forceDisconnect( (Connector<?>)o );
					}
				}
			}
			if( l0.container != null ) l0.container.removeItem(obj);
			obj.setLocation(l1);
			if( l1.container != null ) l1.container.addItem(obj);
		}