Move things out of NodeController and LocalNodeController
In preparation to write an arti version of LocalNodeController, based on it, move the bits that aren't actually specific to the controller implementation out of the controller implementation.
Progress on #40030 (closed)