Provider pattern
http://www.c-sharpcorner.com/uploadfile/rmcochran/providerpattern08102006110013am/providerpattern.aspx