public MyLibrary BindToContainer(ITypeCreationStrategy strategy)
 {
     TypeCreationStrategy = strategy;
     return this;
 }
 public MyLibrary BindToContainer(Func<Type, object> func)
 {
     TypeCreationStrategy = new TypeCreationFuncShim(func);
     return this;
 }
 public MyLibrary BindToContainer(ITypeCreationStrategy strategy)
 {
     TypeCreationStrategy = strategy;
     return(this);
 }
 public MyLibrary BindToContainer(Func <Type, object> func)
 {
     TypeCreationStrategy = new TypeCreationFuncShim(func);
     return(this);
 }
 public MyLibrary()
 {
     TypeCreationStrategy = new TypeCreationFuncShim(Activator.CreateInstance); // Default to activator
 }