     }
 
     private func bind(class klass: AnyClass, toBlock to: @escaping (Injector) -> (Any)) {
-        self.creationMethods[klass.description()] = to
+        let description = Mirror(reflecting: klass).description
+        self.creationMethods[description] = to
     }
 
     public func bind<T>(_ obj: T.Type, to: T) {

    }

    private func create(class klass: AnyClass) -> Any? {
        if let closure : (Injector) -> (Any) = creationMethods[klass.description()] {
            let obj : Any = closure(self)
            return obj
        }

            let obj = inj.init(injector: self)
            return obj
        }
#if _runtime(_ObjC)
        if let aClass = klass as? NSObject.Type {
            let obj = aClass.init()
            return obj
        }
#endif
        return nil
    }
    
