Loosely Coupled Communication
When building large complex applications, a common approach is to divide the functionality into discrete module assemblies. It is also desirable to minimize the use of static references between these modules. This allows the modules to be independently developed,
tested, deployed, and updated, and it forces loosely coupled communication. Below you will find some resources that complement the information about this subject on the corresponding
chapter in the Prism MSDN documentation.