gui.control: state machines