Your GUI code can easily live in a simple function (no need for an object just for the UI). You don't have to worry about app state and GUI state being out-of-sync (i.e. the GUI showing something ...