This interface is used to access spellchecker, hyphenator, and
thesaurus functionality.
Additionally, it can query what implementations of those services are
available (for specific languages or in general).
It can select and query which of those implementations should
be used for a specific language.
For spellchecking and thesaurus, the order in the list defines the order
of creation/usage of those services.
That is, if the first spellchecker implementation does not recognize
the given word as correct, the second service implementation for that
language is created and gets queried. If that one fails, the third one
gets created and queried and so on.
This chain stops if an implementation reports the word as correct or the
end of the list is reached, in which case the word is reported as incorrect.
For the thesaurus, the behavior is the same when no meaning was found.