@Override
    protected void solidifyComponent() {
        slots = new Slot[this.getNumSubComponents()];
        for (int i = 0; i < slots.length; i++) {
            slots[i] = new Slot();
            slots[i].setSize(componentSize, componentSize);
            if (this.getSubComponent(i) != null) {
                slots[i].socket(this.getSubComponent(i));
            }
        }

        determineOrbits();
        for (int c = 0; c < this.getNumSubComponents(); c++) {
            this.getSubComponent(c).getTracker().setTrackPath(new OrbitTrackerPath(orbits[c/orbitCounts[0]], rotationPref));
        }

        needsAligned = true;
    }