     }
     
     /**
-    *  Creates an implementation and instance of
-    *  configuration instance for the protocol
-    *  specified.
+        Creates an implementation and instance of an object for the protocol (P) specified.
+     
+        - Returns: An instance of an Object that implements the protocol specified by P.
     */
     @nonobjc
     @warn_unused_result

    }

    /**
     *  Creates an implementation and instance of
     *  configuration instance for the protocol
     *  specified.
     */
    @nonobjc
    @warn_unused_result
    public final class func instance(defaults: [String: AnyObject], bundleKey: String) -> P? {
        
        guard let conformingProtocol: Protocol = NSProtocolFromString(String(reflecting: P.self)) else {
            fatalError ("Could not create instance for protoocol \(P.self)")
        }
        return createInstance(conformingProtocol, defaults: defaults, bundleKey: bundleKey) as? P

    }
    
    /**
        Creates an implementation and instance of an object for the protocol (P) specified.
     
        - Parameter defaults: A dictionary of property names and default values for those properties.
     
        - Returns: An instance of an Object that implements the protocol specified by P.
     */
    @nonobjc
    @warn_unused_result
