It is worth pointing out that the GUI is much more tightly coupled to the device than the MCFD16Control gui. It seeks to maintain good synchronization between the device and the gui at all times. What this means is that manipulating any of the widgets will cause the device to be manipulated. There is a short delay provided between the time the widget was changed and when the device is actually communicated with. This allows the user to make a number of changes to the same widget before any communication is attempted. The idea is that the user can double-click on a button or even hold down the increment on the spinbox without interruption. Once communication is attempted, the user is prevented from making changes until the the process is completed.
There is a targeted effort to provide the user with feedback about what is happening at any given moment. For that reason, a status message is updated at the bottom of the GUI to provide feedback.