* Interaction object - void * pointer for interface specific stuff * Widget object - for input, associated with a vlc_value_t * Interaction manager - Maintains a list of currently active interaction displays - When a new interaction is requested, forward the request to the interface (ASYNCHRONOUS !) - Asks the interface to show/modify/remove a display - Active polling ? - Signalling thhe interface : - function pointer - easier to know if interface does not support - - variable - cleaner ? - "control" function * Requester - Builds the interaction object - Add it to the interaction manager request queue. - Queue or single with lock ? - Analyze deadlock possibility