   
   public func remove(definition: Definition, forKey key: DefinitionKey) {
     threadSafe {
-      self.definitions[key] = nil
+      definitions[key] = nil
       if let definition = definition as? AutoInjectedDefinition {
-        self.removeInjected(definition)
-        self.removeInjectedWeak(definition)
+        removeInjected(definition)
+        removeInjectedWeak(definition)
       }
     }
   }

  
  // MARK: - Thread safety
  
  private func threadSafe<T>(closure: () throws -> T) rethrows -> T {
    lock.lock()
    defer {
      lock.unlock()

   */
  public func reset() {
    threadSafe {
      definitions.removeAll()
    }
  }

