TypedMVVM: Adding a new IoC.Container class for generating instances using generics