A model for improving names

Thank you, Luke. Yes, I do eventually (!) rename XFactory, if I don't manage to eliminate it altogether. I find that I only keep proper Abstract Factories (read GoF again), which often become toolkits. Now, "toolkit" remains a structural name, but it better describes the intent of one way to use it.

As for "increase duplication in names", it tends to happen more with methods than with classes. For example, related code gathers in a handful of methods whose names become similar: I call that removing duplication in code, and increasing duplication in names. The duplication in names comes from making the names more specific.