diff --git a/provider.go b/provider.go
index 08bdfbe..c741c4c 100644
--- a/provider.go
+++ b/provider.go
@@ -1,12 +1,17 @@
 package gophercloud
 
+// Provider structures exist for each tangible provider of OpenStack service.
+// For example, Rackspace, Hewlett-Packard, and NASA might have their own instance of this structure.
+//
+// At a minimum, a provider must expose an authentication endpoint.
 type Provider struct {
 	AuthEndpoint string
 }
 
-var providerMap = make(map[string]*Provider)
-
-func (c *Context) RegisterProvider(name string, p *Provider) error {
+// RegisterProvider allows a unit test to register a mythical provider convenient for testing.
+// If the provider structure lacks adequate configuration, or the configuration given has some
+// detectable error, an ErrConfiguration error will result.
+func (c *Context) RegisterProvider(name string, p Provider) error {
 	if p.AuthEndpoint == "" {
 		return ErrConfiguration
 	}
@@ -15,11 +20,13 @@
 	return nil
 }
 
-func (c *Context) ProviderByName(name string) (p *Provider, err error) {
+// ProviderByName will locate a provider amongst those previously registered, if it exists.
+// If the named provider has not been registered, an ErrProvider error will result.
+func (c *Context) ProviderByName(name string) (p Provider, err error) {
 	for provider, descriptor := range c.providerMap {
 		if name == provider {
 			return descriptor, nil
 		}
 	}
-	return nil, ErrProvider
+	return Provider{}, ErrProvider
 }
