         
     }
     
+    struct ConsoleButtonItem: ButtonItem {
+        var title: String {
+            return "Subscribe"
+        }
+        
+        var targetSelector: TargetSelector
+        var alertControllerTextFieldValue: String? {
+            return nil
+        }
+        var alertControllerTitle: String? {
+            return nil
+        }
+        
+        var reuseIdentifier: String {
+            return ButtonCollectionViewCell.reuseIdentifier
+        }
+    }
+    
     // MARK: - Constructors
     public required init(client: PubNub) {
         super.init()

        guard let currentClient = self.client else {
            fatalError()
        }
        let section = BasicSection(items: [ConsoleLabelItem(consoleType: .Channels, client: currentClient), ConsoleLabelItem(consoleType: .ChannelGroups, client: currentClient)])
        self.dataSource = BasicDataSource(sections: [section])
        guard let collectionView = self.collectionView else { fatalError("We expected to have a collection view by now. Please contact support@pubnub.com") }
        collectionView.registerClass(LabelCollectionViewCell.self, forCellWithReuseIdentifier: LabelCollectionViewCell.reuseIdentifier)
        collectionView.reloadData() // probably a good idea to reload data after all we just did
        
        // TODO: clean this up later, it's just for debug

        }
    }
    
    public func client(client: PubNub, didReceiveMessage message: PNMessageResult) {
        print(message.debugDescription)
    }
    
    // MARK: - UINavigationItem
    
    public override var navBarTitle: String {
