         view.addSubview(label)
         let labelX  = NSLayoutConstraint(item: label, attribute: NSLayoutAttribute.CenterX, relatedBy: NSLayoutRelation.Equal, toItem: view, attribute: NSLayoutAttribute.CenterX, multiplier: 1, constant: 0)
         let labelY = NSLayoutConstraint(item: label, attribute: NSLayoutAttribute.CenterY, relatedBy: NSLayoutRelation.Equal, toItem: view, attribute: NSLayoutAttribute.CenterY, multiplier: 1.6, constant: 0)
-        
         NSLayoutConstraint.activateConstraints([labelX, labelY])
+
         
         viewModel.label.producer
-            |> observeOn(QueueScheduler.mainQueueScheduler)
             |> start(next: { label in
-                self.label.stringValue = label
+               self.label.stringValue = label
             })
-        
+
         viewModel.currentSelectionValid.producer
-            |> observeOn(QueueScheduler.mainQueueScheduler)
             |> on(next: { valid in
                 self.layoutUI(valid) })
             |> start()
+        
     }
     
     private func layoutUI(set: Bool) {

        view.addSubview(well)
        let centerWell = NSLayoutConstraint.centeringConstraints(well, into: view)
        NSLayoutConstraint.activateConstraints(centerWell)
        
        label = NSTextField()
        label.translatesAutoresizingMaskIntoConstraints = false
        label.editable = false

import Cocoa
import ReactiveCocoa

// TODO: Find better way to incorporate VCs and VMs. Current workaround is making all properties mutable and unwrapped. Ew.

class ProjectDropViewController: NSViewController, DropViewDelegate {
    
