Refactor the Variants factory to clearly separate KDE-specific stuff.