Restructured code so that the calls to the updaters are much more straightforward