Think of the intermodule communication system as an Message/Event system.
When you raise a SEND event - EVERY module on the current PAGE that has subscribed to the InterModule listener - has its listener triggered.
The ARGS object that is passed to the module contails the Target property that you declared in the SENDing modules - send function
In the Listener - on ALL receiving modules - that is ANY module on the page that has implemented a intermodule message Listen - you do a test against Target and compare it with your reveiving moduleid - to determine if the message is for that module
Sender is a simple string - it can actually be any name that identifies where the message came from.
If you want to ping pong messages back - you can stick the sending moduleid into the sender string.
Be very carefull with cascading events if you try this stuff - REMEMBER - all modules subscribed modules get the event
>>>>
NOTE: one of the features of this system is that a message can be broadcast to all the modules you have on a single page - by creating your own messageid.
For example - i have a dashboard for a client site that controls how all the custom modules on a page appear to the client. The dashboard sends intermodule events with moduleids in the range -100 to -199 - and all the other modules have a listener that looks for target between -100 and -199 and react accordingly
Westa