Using that approach a 3rd party application could be downloaded as a visual, turned on by choosing that visual, turned off by selecting another visual, etc..

The same "grab a part of the screen" or "overlay my stuff over the player (or vice versa)" API could then suit visuals and applications alike, 'cos in fact applications would just be visuals with a bit more than a fancy display.

You'd still need a means of grabbing button events. How about, the active visual/application is passed all button and IR events to either handle and cancel or to ignore and leave for the player, not a million miles away from the event model that Windows uses. The application could then choose one event to toggle whether or not it processes other events, so switching between buttons and IR controlling the application or the visual/application.

Cheers,

Mark.