public <S extends I> S create(String name, Class<S> type) { return container.create(name, type); }
public I create(String name) { return container.create(name, defaultType); }