The GUI and the Core are too much coupled. For example, look at the number of arguments of showsticks and commandsInterpretation, much too high. This should be replaced by something looser.
A possibility would be that each action on the GUI modifies the state of a variable in a controller.