Como injetar UserManager e SignInManager

Estou tentando descobrir como injetar UserManager e SignInManager. Instalei o Ninject no meu aplicativo e estou usando-o da seguinte maneira:

Por favor, considere que este é um projeto totalmente novo. Dentro do Startup.cs, tenho o seguinte:

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        ConfigureAuth(app);

        app.UseNinjectMiddleware(CreateKernel);
    }

    private static IKernel CreateKernel()
    {
        var kernel = new StandardKernel();
        kernel.Load(Assembly.GetExecutingAssembly());


        return kernel;
    }
}

Agora, se eu fosse criar alguma classe Dummy e tentar injetá-la com base em sua interface que funciona. Eu testei. O que estou tentando descobrir é como eu retiraria o seguinte do Startup.Auth.cs e o injetaria. Não tendo interfaces nas quais posso confiar, não tenho certeza de como isso é feito:

app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);

Apenas para esclarecer mais uma vez, minha pergunta é: Como instanciar ApplicationUserManager e ApplicationSignInManager e injetar nos parâmetros do meu controlador. Aqui está o controlador no qual estou tentando injetar isso:

public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
{
    UserManager = userManager;
    SignInManager = signInManager;
}

EDITAR:

Aqui está o que eu tentei:

private static IKernel CreateKernel()
{
    var kernel = new StandardKernel();
    kernel.Load(Assembly.GetExecutingAssembly());

    kernel.Bind<IUserStore<ApplicationUser>>().To<UserStore<ApplicationUser>>();
    kernel.Bind<UserManager<ApplicationUser>>().ToSelf();

    return kernel;
}

Mas com isso eu recebo erro de referência nulo

questionAnswers(2)

yourAnswerToTheQuestion