Non-static SetupManager

An obvious side effect is that we now need to pass the SetupManager down to all the classes that need it, but has the huge advantage of all fillers being isolated and free of side effects. Everything else should still work as before anyway, it's just a bit more isolated now.