         peripheral.delegate = self
         peripheral.discoverServices([self.serviceId])
         
-        let peer: Clink.Peer = Clink.getOrCreatePeer(withId: peripheral.identifier.uuidString)
-        
-        publish(notification: .connected(peer))
+        publish(notification: .connected(peripheral.identifier.uuidString))
     }
     
     public final func centralManager(

        Clink.Configuration.dispatchQueue.async {
            task.delegate = nil
            
            let peer: Clink.Peer = Clink.getOrCreatePeer(withId: peripheral.identifier.uuidString)
            
            if let i = self.activePairingTasks.index(of: task) {
                self.activePairingTasks.remove(at: i)
            }
            
            self.publish(notification: .clinked(peer))
            self.connect(peerWithId: peer.id)
        }
    }
    

    {
        if error != nil { self.publish(notification: .error(.unknownError)) }
        
        let peerId = peripheral.identifier.uuidString
        
        self.publish(notification: .disconnected(peerId))
        self.connect(peerWithId: peerId)
    }
    
    public final func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
