public void swapCellComponents(GUIComponent component1, GUIComponent component2) {
        Slot cell1 = getCellContaining(component1);
        Slot cell2 = getCellContaining(component2);

        if (cell1 != null && cell2 != null) {
            cell1.socket(component2);
            cell2.socket(component1);

            needsAligned = true;
        }
    }