more refactoring, redraw screen when notifications update