due to the overwhelming responses
I've created two constants classes
DTDChallengeNotifications (this is for "system" or "regular" notifications)
DTDChallengeStateChangeNotifications ( this is for exiting/entering/change notifications)
So far so good, and I have to say the FSM is saving me tons of complexity that I had without it.