             configurer: Configuration.Builder -> Void)
         {
         let entry = ConfigurationEntry(
-            description: description ?? "custom",
+            description: "config \(nextConfigID) [" + (description ?? "custom") + "]",
             urlMatcher: urlMatcher,
             configurer: configurer)
         configurationEntries.append(entry)
-        debugLog(.Configuration, ["Added", entry, "config"])
-        }
+        debugLog(.Configuration, ["Added", entry])
+        }
+    
+    private var configID = 0
+    private var nextConfigID: Int { return configID++ }
     
     /**
       Signals that all resources need to recompute their configuration next time they need it.

        
        if useDefaultTransformers
            {
            configure
                {
                $0.config.responseTransformers.add(JsonTransformer(), contentTypes: ["*/json", "*/*+json"])
                $0.config.responseTransformers.add(TextTransformer(), contentTypes: ["text/*"])

    */
    public final func invalidateConfiguration()
        {
        if anyConfigSinceLastInvalidation
            { debugLog(.Configuration, ["Configurations need to be recomputed"]) }
        anyConfigSinceLastInvalidation = false
        
        configVersion++
        }

    private var anyConfigSinceLastInvalidation = false
    
    internal func configurationForResource(resource: Resource) -> Configuration
        {
        anyConfigSinceLastInvalidation = true
        debugLog(.Configuration, ["Computing configuration for", resource])
        let builder = Configuration.Builder()
        for entry in configurationEntries
            where entry.urlMatcher(resource.url!)
            {
            debugLog(.Configuration, ["Applying", entry, "to", resource])
            entry.configurer(builder)
            }
        return builder.config
