@ctuncks: Ah, so you want to catch the state of something changing a shield's values in real time, then. So you just check the ship's MutableStats, get the size of bonus for <shield stuff> at the very start when the ship's brand new to the simulation, then check it again during play to see if it's different for <reasons>. If yes, quit running your real-time modification of shield colors, or initiate a fade transition or whatnot.
You could also simply check for the presence of that particular System and check its state, to see if it's on, but that won't be a good generalized solution.
@vicegrip: The problem here is that hullmods apply their effects in a few specific contexts: before ship creation, when it's just a VariantAPI, or after, and "after" means when it's a full-fledged ShipAPI in the sim or combat.
So you're talking "making them after combat starts" there, but it's easy to implement in the current BaseHullMod system.
So what do you want this to do, exactly, that requires all this? Turn a Decorative into a functional weapon that's effectively like a Built In? If so, doing it in AfterShipCreation() is probably the appropriate time, but there you'll end up with other problems, such as, "what weapon group will this be assigned to", that would require some careful thought.
I've often thought that Hull Mods should have a couple of methods: AfterVariantHasBeenChanged() and AfterHullModHasBeenRemoved() that are specifically triggered by player changes to Variants in the ship editor, to allow for behaviors like this a little more gracefully. The Dock interface is one of the weird places in SS, where it's not quite a ship and it's not quite a Variant, either.