Um provedor de associação personalizado * sem * um banco de dados?

Eu tenho olhado em torno de várias perguntas, postagens de blogs, etc., sobre as mudanças nos provedores de associação no MVC 4. Embora eu goste de muitas das mudanças e da simplificação das coisas (particularmente o login externo pronto para uso) apoio), eu ainda não consegui encontrar uma coisa aparentemente simples ...

Como posso substituir o provedor de associação / função por um personalizado que usa outra fonte de dados?

Eu não quero substituirWebSecurity ou qualquer coisa que seja drástica, uma vez que lida com todas as coisas que eu quero que ele manipule. (Gerenciamento de cookies, por exemplo). Eu não quero fazer nada que possa quebrar o suporte existente para provedores de login externos, já que meu aplicativo usa aqueles em conjunto com logins locais. Tudo o que eu quero fazer é inserir entre o sistema de associação e o banco de dados por trás dele e personalizar essa busca de dados.

As tabelas que cria por padrão são:

Perfil de usuáriowebpages_Membershipwebpages_OAuthMembershipwebpages_Roleswebpages_UsersInRoles

E enquanto isso funciona, eu tenho motivos para abstrair isso por trás de alguns objetos personalizados e quebrar o acoplamento entre o aplicativo e o banco de dados. (Basicamente, tenho alguns modelos de domínio customizados cheios de lógica de negócios que devem lidar com tudo isso, e quero que o sistema de associação / função use esses modelos em vez do banco de dados. Esses modelos podem obter dados persistentes de um banco de dados, Não. Isso não deve importar.

A maioria das referências que eu acho para customização dizem que é fácil fazer, tudo que eu tenho que fazer é modificar oUserProfile modelo, inclua meus novos campos personalizados em várias chamadas e atualize a chamadaInitializeDatabaseConnection para apontá-lo para o meu esquema de banco de dados.

Mas eu não estou usando um banco de dados. (Ou, mais especificamente, no que diz respeito à camada de aplicativos, não existe um banco de dados. Apenas meus modelos de domínio.) Assim, a personalização fácil não muda nada.

Existe uma maneira de interpor entre o sistema de associação e o banco de dados para que eu possa criar um provedor de dados personalizado para o provedor de associação existente?