             nextCampaigns = Array(sortedCampaigns.dropFirst())
         }
         
+
         dispatch_async(dispatch_get_main_queue()) { () -> Void in
          
             if let firstCampaign = sortedCampaigns.first, type = firstCampaign.messageType  {

    
    func didRecieveNewMessages(messages: [(conversationId: Int, messages: [Message])]) {
        
        if let newMessageView = NewMessageView.fromNib() as? NewMessageView where currentShownView == nil {
            
            if let window = UIApplication.sharedApplication().keyWindow {
                currentShownView = newMessageView

    func showNPSCampaign(campaign: Campaign, otherCampaigns: [Campaign]) {
     
     
        if let npsContainer = NPSContainerView.fromNib() as? NPSContainerView, npsView = NPSView.fromNib() as? NPSView where currentShownView == nil && !conversationIsPresenting(){
            
            if let window = UIApplication.sharedApplication().keyWindow {
                currentShownView = npsContainer
