 //  Created by Syed Sabir Salman on 3/30/16.
 //
 //
-
-import Foundation
 
 
 /// MARK:- Base of all injectable types


extension Trigger {
  
  static func remove(interface: Any.Type) {
    let definitionKey = String(interface)
    remove(definitionKey: definitionKey)
  }
  
  static func remove(definitionKey key: String) {
    synchronized(Trigger.self) {
      definitionMap[key] = nil
      

  init() {
  }
  
  public static func register(interface: Any.Type, implementation: Injectable.Type, scope: DependencyScope = .Singleton) {
    let definitionKey = String(interface)
    definitionMap[definitionKey] = DependencyDefinition(scope: scope, implementationType: implementation)
    
