     private var serviceBrowser: MCNearbyServiceBrowser?
     private var foundHosts = [MCPeerID]()
     
-    // A set of all peers in the session.
-    // We need this since session.connectedPeers only contains peers except self.
-    // Useful for discovering disconnection.
-    private var peersInSession: Set<MCPeerID>
-    
     public weak var delegate: CoulombNetworkDelegate?
     
     private lazy var session: MCSessionWithHost = {

                    delegate?.connectedToPeer(peerID)
                } else {
                    NSLog("%@", "not connected to \(session.hashValue)")
                    
                    // If session.connectedPeers is empty, it implies that either:
                    // - Self is disconnected from the session
                    // - The session has no other connected peer
                    // Combine with peersInSession count > 1, we can be certain that
                    // self is disconnected.
                    if session.connectedPeers.isEmpty && peersInSession.count > 1 {
                        peersInSession.remove(myPeerId)
                        delegate?.disconnectedFromSession()
                    }
                }
                

                if state == .Connected {
                    NSLog("%@", "connected to \(session.hashValue)")
                    // Update the set of peers in the session
                    self.session.peersInSession.insert(peerID)
                    
                    // If currently a guest, stop looking for host
                    stopSearchingForHosts()
