The challenge is to make a powerful abstraction thats simple.. (balanced) its easy to make a simple abstraction thats simple.. you should try and find something more unique (and perhaps more simple (simple != useless) because MEF and concurrency / threading are big tasks to take on).

I've found naturally the things I've ended up building are things that have caused me the biggest development friction (this is natural), and I'm certainly not having friction points with ioc/di frameworks.. or at least if I want more from them, would require a sizable dev effort.