remove cast, define extension on container (part of #3)
remove cast, define extension on container (part of #3)

Swinject/Swinject-CodeGen,Swinject/Swinject-CodeGen,Swinject/Swinject-CodeGen,Swinject/Swinject-CodeGen