One service we would want is LanguageFactory to replace Language::factory(). Two questions:
- Do we want to put all the other static methods on LanguageFactory, or put them in a separate service? The name suggests that it's to make Language objects, not a collection of generic Language-related methods. SpecialPageFactory does have lots of other special-page-related methods.
- Some of the static methods are unlikely to ever need to track state, such as isWellFormedLanguageTag(). Is it okay to leave these static? I would figure that we may as well make them instance methods as well, in case at some future date they incorporate state like caching, but it seems a bit excessive to force dependency on a service just for that.