Great vid John - your explanations clarified some of the MEF concepts. What I did not get a clear understanding of is where the actual mapping between interface and concrete classes took place. In something like Prism you have DI that does that mapping for you. For example how do I know that the send mail interface maps to the smtp send mail class and not another class that implements the same interface?