¿Un proveedor de membresía personalizado * sin * una base de datos?

He estado revisando varias preguntas de SO, publicaciones de blogs, etc., sobre los cambios a los proveedores de membresía en MVC 4. Aunque me gustan muchos de los cambios y la simplificación de las cosas (especialmente el inicio de sesión externo listo para usar) apoyo), todavía no puedo encontrar una cosa aparentemente simple ...

¿Cómo puedo anular el proveedor de membresía / rol por uno personalizado que use otra fuente de datos?

No quiero reemplazarWebSecurity o cualquier cosa que sea drástica, ya que maneja todas las cosas que quiero que maneje. (Administración de cookies, por ejemplo). No quiero hacer nada que rompa el soporte existente para proveedores de inicio de sesión externos, ya que mi aplicación los usa junto con los inicios de sesión locales. Todo lo que quiero hacer es interponer entre el sistema de membresía y la base de datos detrás de él y personalizar la obtención de datos.

Las tablas que crea por defecto son:

Perfil del usuariowebpages_membershipwebpages_OAuthMembershipwebpages_Roleswebpages_UsersInRoles

Y mientras eso funciona, tengo motivos para abstraer esto detrás de algunos objetos personalizados y romper el acoplamiento entre la aplicación y la base de datos. (Básicamente, tengo algunos modelos de dominios personalizados llenos de lógica de negocios que deberían manejar todo esto, y quiero que el sistema de membresía / rol use esos modelos en lugar de la base de datos. Es posible que esos modelos obtengan sus datos persistentes de una base de datos. No. Eso no debería importar.

La mayoría de las referencias que encuentro para personalización afirman que es fácil de hacer, todo lo que tengo que hacer es modificar elUserProfile modelo, incluir mis nuevos campos personalizados en varias llamadas y actualizar la llamada aInitializeDatabaseConnection para apuntarlo a mi esquema de base de datos.

Pero no estoy usando una base de datos. (O, más específicamente, en lo que se refiere a la capa de aplicación, no existe tal cosa como una base de datos. Solo los modelos de mi dominio.) Por lo tanto, la fácil personalización no cambia realmente nada.

¿Hay alguna manera de interponerse entre el sistema de membresía y la base de datos para que pueda crear un proveedor de datos personalizado para el proveedor de membresía existente?