This is another approach to inheriting and implementing the abstract MembershipProvider class. It is adapted instead of inherited. MembershipUser related calls are isolated in a IUserRepository implementing class (supplied by the developer) and instance
of the class is injected in the MembershipProviderAdapter after it is initialized.
The overall effect is that what the Provider Design Patter was designed to solve now is solved thru various implementations of the MembershipUser adapter (IUserRepository implementing classes). The responsibility is transferred, hopefully for good.
NOTE: This project may be added to Visual Studio projects as a NuGet