I thought I would need the observer pattern to do updates the gui at some point, but so far it works more than well enough without one