So is it just about preventing people from having to write an extra class that would call the root classes depending on the arguments or environment variables? If it's only used by the test tool, why can't it do that by itself without introducing the notion of multiple roots?