         subscriber = nil
     }
     
+    fileprivate func cleanupPublisher() {
+        publisher.view?.removeFromSuperview()
+    }
+    
     fileprivate func processError(_ error: OTError?) {
         if let err = error {
             DispatchQueue.main.async {

    
    func session(_ session: OTSession, streamCreated stream: OTStream) {
        print("Session streamCreated: \(stream.streamId)")
        if subscriber == nil && !subscribeToSelf {
            doSubscribe(stream)
        }
    }

    }()
    
    var subscriber: OTSubscriber?
    
    override func viewDidLoad() {
        super.viewDidLoad()
