At the moment we're creating a specific FaultMessage type and using that as the state "identifier".
We were discussing this on IRC today and talked about making it more explicit i.e. explicitly having the state available on the Exchange instance. I implemented it on a topic branch... https://github.com/tfennelly/jboss-switchyard-core/tree/ExchangeFault
Exchange now has a getState() method which returns an ExchangeState enumeration value.
I actually removed the FaultMessage type from the codebase, but we're not suggesting we can't use a specific Message impl for carrying a fault payload. We're just saying that we'd like something a bit more explicit for indicating the fact that the Exchange is in fault.
Yeah, I'm good with this change. FaultMessage extended Message, so there's no reason why we can't just use Message for now and reintroduce FaultMessage if/when we need something special there.