public boolean sliderAndSpinnerDispatch(ChangeEvent e) {
        if (e.getSource() == simTimeSlider) {
            changeSpinnerBasedOnSlider();  //will call updateSimChangeSpeedValues()
            return true;
        } else if (e.getSource() == simTimeDelaySpinner || e.getSource() == simTimeCycleSpinner) {
            //We need to set slider to custom if the values in spinner's
            //don't match a default
            boolean isadefault = false;
            int valueOfDelay = ((Integer) simTimeDelaySpinner.getValue()).intValue();
            int valueOfCycles = ((Integer) simTimeCycleSpinner.getValue()).intValue();
            if (valueOfDelay == 0 && valueOfCycles == 0) {
                //Both are zero, we shouldn't do anything.
                updateSimChangeSpeedValues();
                return true;
            }
            //So this runs when both are not zero...we scroll through looking to see if it's a default
            for (int i = 0; i < numofdefaults; i++) {
                if (simTimeDelayDefaults[i] == valueOfDelay && simTimeCycleDefaults[i] == valueOfCycles) {
                    isadefault = true;
                    simTimeSlider.setValue(i);
                }
            }
            //So if it's not at 0,0 and it's not a default, then
            //it must be custom
            if (!isadefault) {
                simTimeSlider.setValue(-1);
            }
            updateSimChangeSpeedValues();
            return true;
        } else {
            return false;  //this module did not cause ChangeEvent
        }
    }