Redid some IoC code, it was stupid before.
Merge branch 'master' into MEF-implementation