       registeredBubbles.forEach { output += " \($0)" }
     }
     
-    if params.contains(.Errors) && !registeredErrors2.isEmpty {
+    if params.contains(.Errors) && !registeredErrors.isEmpty {
       output += "  | (Err): "
-      for (domain, codes) in registeredErrors2 {
+      for (domain, codes) in registeredErrors {
         output += "\(domain) > "
         codes.forEach { output += "\($0) " }
       }

  //Errors
  
  //TODO: extensions
  private var registeredErrors2 = [String: Set<Int>]()
  
  public final func registerForError(code: ErrorCode, inDomain domain: ErrorDomain) {
    var allCodes = registeredErrors2[domain.title] ?? []
    allCodes.insert(code.rawValue)
    registeredErrors2[domain.title] = allCodes
  }
  
  public final func registerForErrorCodes(codes: [ErrorCode], inDomain domain: ErrorDomain) {
    var allCodes = registeredErrors2[domain.title] ?? []
    let mappedCodes = codes.map { $0.rawValue }
    mappedCodes.forEach { allCodes.insert($0) }
    registeredErrors2[domain.title] = allCodes
  }
  
  public final func unregisterFromError(code code: ErrorCode, inDomain domain: ErrorDomain) {
    if let codes = registeredErrors2[domain.title] {
      var filteredCodes = codes
      filteredCodes.remove(code.rawValue
      )
      registeredErrors2[domain.title] = filteredCodes
    }
  }
  
  public final func isRegisteredForError(error: Error) -> Bool {
    guard let codes = registeredErrors2[error.domain.title] else { return false }
    return codes.contains(error.code.rawValue)
  }
  

      output += "  | (R)"
    }
    
    if params.contains(.GlobalEvents) && !registeredGlobalEvents.isEmpty {
      output += "  | (E):"
      registeredGlobalEvents.forEach { output += " \($0)" }
