 
 let CellId = "PlaylistCell"
 
-class PlaylistViewController: UICollectionViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
+class PlaylistViewController: UICollectionViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, OSCServerDelegate {
     
     let dataSource = PlaylistDataSource()
     let client = OSCClient()
+    let server = OSCServer()
+   
+    // MARK: OSCServerDelegate
+    
+    func handleMessage(incomingMessage: OSCMessage!) {
+        if let message = incomingMessage {
+            NSLog("Received OSCMessage %@ %@", message.address, message.arguments)
+        }
+    }
     
     // MARK: UIViewController
     

    // MARK: UICollectionViewDelegate
    
    override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
        NSLog("Boom! Sending message to Reaper")
        let message = OSCMessage(address: "/live/play", arguments: [])
        client.sendMessage(message!, to: "udp://localhost:9000")
    }

        super.init(collectionViewLayout: UICollectionViewFlowLayout())
        collectionView!.registerClass(PlaylistCell.self, forCellWithReuseIdentifier: CellId)
        collectionView!.dataSource = dataSource

        server.delegate = self
        server.listen(9001)
        
        NSLog("Querying for scenes")
        let message = OSCMessage(address: "/live/name/scene", arguments: [])
        client.sendMessage(message!, to: "udp://localhost:9000")

    }
    
    required init(coder: NSCoder) {
