MediaWiki's skinning system needs an overhaul. Based on the assumption that a skin is the front-end interface with which a user interacts, we should consolidate a list of all classes involved in this process and categorise them by type - skinning, on-page components, whatever.
From there, a path forward toward coming up with something better may become clearer.