TODO use the observer pattern to update mainwindow_notification