         history.text = newText.joinWithSeparator(" ")
     }
     
-    var displayValue: Double {
+    var displayValue: Double? {
         get {
+            // Do this condition in the brain?
             if "π" == display.text {
                 return M_PI
-            } else {
-                return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
             }
+            
+            if let interpretedNumber = NSNumberFormatter().numberFromString(display.text!) {
+                return interpretedNumber.doubleValue
+            }
+            return nil
         }
         set {
-            display.text = "\(newValue)"
+            if (nil != newValue) {
+                display.text = "\(newValue!)"
+            } else {
+                display.text = " "
+            }
             userIsInTheMiddleOfTypingANumber = false
         }
     }

                displayValue = result
                setHistoryDisplay()
            } else {
                displayValue = 0.0
                history.text = "ERROR"
            }
        }
    }
    
    @IBAction func enter() {
        userIsInTheMiddleOfTypingANumber = false
        if let result = brain.pushOperand(displayValue){
            displayValue = result
            setHistoryDisplay()
        } else {
            displayValue = 0.0
            history.text = "ERROR"
        }
    }

    @IBAction func clear(sender: UIButton) {
        brain.clear()
        userIsInTheMiddleOfTypingANumber = false
        displayValue = nil
        history.text = " "
    }
    
    func setHistoryDisplay() {
