Another impactful change, this kills 6 cycles on its own: https://www.diffchecker.com/TG1TwRoP
plug(:put_view, ...) in a controller creates a compile-time dep on that view.
This can create cycles, but also just makes controllers recompile unnecessarily.
We can fix this by creating a separate View file for each controller, then calling the desired view internally. This gives us more flexibility to alter views for different controllers, and also makes views into runtime deps.