Developing modules and themes/skins for DotNetNuke is made easy with the module/theme templates from Christoc. I'm assuming if you're reading this article you are familiar with these templates and use them to build your modules. If you aren't using these templates you probably aren't experiencing this issue, and this isn't the article for you. However, you should be using these templates as it automates the packaging of your DNN modules and themes.
To set up the Inter Module Communication (IMC) functionality, there are two pieces required, a listener and communicator. I will describe the process by first setting up the communicator, in module X, then setting up the listener, in module Y.