 
     let identifier: Identifier
     let dependencyIdentifiers: [Identifier]
+    let instantiatingFunction: Function
 
     init?(injectableType: Type) {
         guard
+            let initializer = injectableType.functions.filter({ $0.name == "init(dependency:)" }).first,
             injectableType.inheritedTypeNames.contains("Injectable") ||
             injectableType.inheritedTypeNames.contains("DIKit.Injectable") else {
             return nil


        dependencyIdentifiers = providerMethod.parameters
            .map { Identifier(name: $0.name, typeName: $0.typeName) }
    }
}


        identifier = Identifier(name: nil, typeName: injectableType.name)
        dependencyIdentifiers = properties.map { Identifier(name: $0.name, typeName: $0.typeName) }
        instantiatingFunction = initializer
    }

    init?(providerMethod: Function) {
