Thanks, Felix, for taking this initiative.
Bringing modularity and code ownership is very welcome.
So is reducing the runtime and fragility of our tests.
Changing virtctl's command line semantics is less urgent in my opinion, and should be done gradually (if at all) and with proper deprecation notices.
As for the specific clean-ups, please make sure to motivate each of them properly.
For example, using globals is a bad practice, because they let different packages affect each other in intractable manner. But init(), when used properly, can reduce package inter-dependency. A casual `git grep 'func init' pkg/virtctl` did not immediately reveal obviously problematic issues to me.
Regards,
Dan.