             // unsubscribe and re-subscribe for all event subscriptions
             for (eventURL, subscription) in subscriptions {
                 self.unsubscribe(subscription, completion: { (result) -> Void in
-                    self.resubscribe(subscription)
+                    self.resubscribe(subscription, completion: {
+                        if let errorDescription = $0.error?.localizedDescriptionOrNil {
+                            LogError("\(errorDescription)")
+                        }
+                    })
                 })
             }            
         }

        })
    }
    
    /// Safe to call from main thread
    private func subscriptions(closure: (subscriptions: [String: Subscription]) -> Void) {
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { () -> Void in
            let subscriptions = self.subscriptions
            dispatch_async(dispatch_get_main_queue(), { () -> Void in
                closure(subscriptions: subscriptions)
            })
        })
    }
    
    private func startStopHTTPServerIfNeeded(subscriptions: [String: Subscription]) {
        let httpServer = self._httpServer
        if subscriptions.count == 0 {
            httpServer.stop()
        }
        else if subscriptions.count > 0 && !httpServer.running {

    }
    
    private func subscriptionDidExpire(subscription: Subscription) {
        resubscribe(subscription, completion: {
            if let errorDescription = $0.error?.localizedDescriptionOrNil {
                LogError("\(errorDescription)")
            }
        })
    }
}

