restructured how nodes are executed so that handler objects can isolate some of the logic.