Interapplication Communication service for messaging between plug-ins.

Poseidon architecture is based on plug-in application pattern. As plug-ins can be designed to work independently without the knowledge of other plug-ins, it is not good design to hardcode references between them. Despite this there might be situations where information needs to be shared between plug-ins. Service relays messages from one sender plug-in to listeners in other plug-ins. Messages can be related to anything, the content is not restricted. Typical examples are individual plug-in parameters and states.