Another refactoring of how we update UI. In progress.