Message extensions versus IQ extensions

It appears to me that for implementing certain ‘‘behind the scenes’’ features, one often has the choice between using a custom IQ message ( .

I have some similar needs where I need to be able to communicate something to the client, but I don’‘t want it be displayed as part of any chat … I merely want to leverage the existing connection to control the client in some way. For example, to push content (e.g. advance to the next slide in a slide show, etc.), to show/hide some portion of the user interface, etc. I am trying to decide which is the best route to take and I’'m wondering if anyone has any thoughts on the pros and cons of the two approaches?

Bill