what class must absolutely exist and also to ensure we don't use non public classes in document content or in templates (non skin templates);
The private (internal) vs API (public) list of classes would allow to separate CSS classes in 2 categories :
the ones with an agreed behavior that all skins must define, and that application (extensions, etc.) developers can rely on. (like we do with hidden, buttonswrapper, clearfloats, etc.) -> those are APIs
the ones that are used to "make the skin work" and for which we allow ourselves to change their behavior, remove them, not define them in all skins, etc. -> those are private, and the extension developers must not rely on them.