Pretty much all "dark" modifications should be implemented as a theme via the Theme extension; this requires minimal changes to the parent skin (usually merely the addition of a ThemeModules
definition to its skin.json
file; see Skin:Gamepress for an example) and if that's not doable, it can be done in Theme.
By implementing this as a theme, there's less maintenance overhead and less unnecessary code duplication, which results in less maintenance burden and makes it easy to update the theme if and when necessary, instead of having to sync various PHP-level changes and whatnot.