Note since you mentioned an Event Structure, I used one, but if you're working on an actual "Real-Time" system (as opposed to just wanting to do this responsively as things change, on a desktop system or similar) then you won't be able to use Value Change events in an Event Structure in most cases.
Then you'd want to do some sort of polling loop probably, but the same logic could be used (perhaps with a Feedback node to get the "OldVal").
Is Value Changed.vim (from 2017 onwards) would also work to find out if it changed (but not what changed).