The ASP.NET provider-based features all rely on a common set of public types and helper classes.
Build Your Own ASP.NET Provider-Based Feature
Build Your Own ASP.NET Provider-Based Feature