 
 extension Clink {
     public class Peer: ClinkPeer {
-        public var id: UUID
+        public var id: String
         public var data: [String: Any]
         
         public required init?(dict: [String: Any]) {
             guard
-                let idString = dict["id"] as? String,
-                let id = UUID(uuidString: idString),
+                let id = dict["id"] as? String,
                 let data = dict["data"] as? [String: Any]
                 else {
                     return nil

extension ClinkPeer {
    public func toDict() -> [String: Any] {
        return [
            "id": id.uuidString,
            "data": data
        ]
    }


public protocol ClinkPeerManager: class {
    func save(peer: ClinkPeer)
    func getSavedPeer(withId peerId: String) -> ClinkPeer?
    func getSavedPeers() -> [ClinkPeer]
    func delete(peer: ClinkPeer)
}

public protocol ClinkPeer {
    var id: String { get set }
    var data: [String: Any] { get set }
    
    init?(dict: [String: Any])
    init(id: String)
    
    func toDict() -> [String: Any]
}
