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

    }
  }
  
  static func reset() {
    synchronized(Trigger.self) {
      definitionMap.removeAll()
      singletons.removeAll()


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