Traduzindo Ninject para ASP.NET MVC 6 DI

Estou tentando entrar no novo material do ASP.NET MVC 6, mas estou tendo dificuldades com o novo sistema de DI. Tentei encontrar recursos on-line, mas tudo o que acho abrange apenas o mínimo mais absoluto possível de usá-lo.

Eu estava usando anteriormenteNinjecte tenho várias conexões que funcionam assim:

Bind<IDocumentStore>()
    .ToMethod(c => CreateDocumentStore())
    .InSingletonScope();

private static IDocumentStore CreateDocumentStore() {
    // lots of initialization code, etc.
    return documentStore;
}

Mas até agora estou tendo dificuldades para descobrir como traduzir esse tipo de comportamento no novo sistema de DI da Microsoft. Tudo o que posso encontrar são exemplos como este:

services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();

e:

services.AddMvc();

Onde tudo parece funcionar inteiramente no construtor padrão para o serviço de destino. Existe alguma maneira de produzir o comportamento que estou precisando neste novo sistema de DI?

Eu vi o

services.Configure<TOptions>(options => {});

Mas não estou muito claro se isso fará o que estou pensando ou se é reservado para comportamentos específicos.

questionAnswers(2)

yourAnswerToTheQuestion