This is using GTK+3 widgets, so I make sure to keep it well separated from core code. The gimp-2-10 version will have to rework the GUI, but the GtkListBox and GtkSwitch are nice and make things easier, so it is worth using them here).