Registrando o factory assíncrono no Autofac

Eu tenho uma classe Wallet que recebo de um repositório. Estou tentando registrar corretamente ambos no Autofac, então as classes que usam a carteira podem ter uma instância apropriada injetada. O problema é que o repositório usa um método assíncrono (retornando Task). O Autofac suporta tais casos?

Isso não funciona:

cb.RegisterType<WalletRepository>()
    .As<IWalletRepository>()
    .SingleInstance();
cb.Register(async c => await c.Resolve<IWalletRepository>().CreateAsync(App.WalletPath));
cb.RegisterType<ViewModel>()
    .AsSelf().
    .SingleInstance();

Em algum lugar no aplicativo eu só tenho:

class ViewModel
{
    public ViewModel(Wallet wallet)
    {
        //nothing fancy here
    }
}

Ao chamarcontainer.Resolve<ViewModel>() Eu recebo uma exceção dizendo Wallet não está registrada.

questionAnswers(3)

yourAnswerToTheQuestion