I've written a UI module that allows other UI components to track a maintained spell name; it will set your given .Text to /GameData.Maintained.Spell_X (or nothing). It updates instantly when the spell changes, and is very high performance, especially with many spells being tracked. Any number of components can track the same spell. You may add or remove tracking at any time.

However, it has a slight problem currently, and I'm not sure if I want to handle it - It will only report the latest cast when the same spell is active multiple times.

So, this is mostly a request for input on how needed the feature is, and what sort of interface would be preferred.