@Curtis Gibeaut: MEF has a few mechanisms for differentiating between implementations of an interface.

The simplest is to use names - there's an example here: http://blogs.msdn.com/b/bclteam/archive/2011/11/03/overriding-part-registration-conventions-with-the-mef-attributes-nick.aspx

Beyond simple naming you can also apply and consume export metadata, e.g. see: http://devlicio.us/blogs/derik_whittaker/archive/2010/03/06/providing-metadata-to-you-mef-exports.aspx.

Hope this helps!

Nick