Configurar o Unity DI para identidade do ASP.NET

Estou usando o Unity com êxito para todas as injeção regular de construtores, como repositórios etc., mas não consigo fazê-lo funcionar com as classes de identidade do ASP.NET. A configuração é esta:

public class AccountController : ApiController
{
    private UserManager<ApplicationUser> _userManager { get; set; }

    public AccountController(UserManager<ApplicationUser> userManager)
    {
        if (userManager == null) { throw new ArgumentNullException("userManager"); }
        _userManager = userManager;
    }

    // ...
}

com estas configurações para o Unity:

unity.RegisterType<AccountController>();
unity.RegisterType<UserManager<ApplicationUser>>(new HierarchicalLifetimeManager());
unity.RegisterType<IUserStore<ApplicationUser>, UserStore<ApplicationUser>>(new HierarchicalLifetimeManager());

É o mesmo que outras postagens aqui para Autofac, Ninject, por exemplo, mas não funciona no meu caso. A mensagem de erro é:

Ocorreu um erro ao tentar criar um controlador do tipo 'AccountController'. Verifique se o controlador possui um construtor público sem parâmetros. Obviamente, a criação manual funciona:

public AccountController()
    : this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>("Mongo")))
{
}

O que há de errado?

ATUALIZAR

Como sugerido por @emodendroket, encurtar o código para isso faz o truque. Não há necessidade do pacote Unity.Mvc.

unity.RegisterType<IUserStore<IdentityUser>, 
  MyCustomUserStore>(new HierarchicalLifetimeManager());

e

public AccountController(UserManager<IdentityUser> _userManager,
  IAccountRepository _account)
{
    // ...

questionAnswers(4)

yourAnswerToTheQuestion