Recently, a development effort at ImageSource involved use of the Microsoft.Practices.Unity library, a part of the Microsoft Patterns & Practices. The Unity piece provides tools for more modular, component based application design. It provides simplified object creation and ability to specify object dependencies and parameters at runtime. While I am still researching all that Unity can do, it looks like a very interesting and exciting new way to create component based applications.
For more information, see the MSDN Article about the Microsoft.Practices.Unity library.