Stronger interfaces are able to be changed transparently, with no possibility for failure. Stronger interfaces thus make fewer demands and specify fewer details. I find it to be very useful then, for it to be possible to design interfaces, which aren't allowed to depend upon certain characteristics.
Colour is, undoubtedly, an important aid for most any interface, but it should more often be treated as an overlay. Some interfaces are composed repeatedly from a basic element, and it's not difficult for such an element to expose grouping information so certain parts could be coloured, consistently.
Grouping along the entire display may be more appropriate for some interfaces, if not resulting from the aforementioned element grouping. It's clear how some information would need to be dynamic, such as interfaces which need to colour active elements differently from others, so cooperation's needed. One method for cooperation is for each element to be identifiable when specifying any customization.
Colour isn't unique in this but is exemplary. Any proper interface system will have a finite set of qualities that any element in the system may have, and explicitly forfeiting such a quality gives to the user the total freedom to customize such a quality for such an element with total security. Any method of interaction with any element works as an example, like a pointing device ``hovering'' over a numerical field used for data entry; a system needing none of that will probably be more inactive.
A less important detail in this regards how interfaces forfeiting a quality will be designed to work without that quality, or they will suffer. It's unreasonable, to design majority interfaces for the minority defective, but any interface which just so happens to end up that way is no harm to anyone.