Split the end of a macro step into 2 methods for external worlds, so
they can tell whether the macro step ended due to quiescence or an
assignment.