     
     @IBAction func addPressed(sender: UIButton) {
         calculator.newAddition(Double(converter.input)!)
+        // Update the input label with the latest calculation,
+        // at this point stored as the initial value.
         converter.input = String(calculator.initialValue)
         updateInterface()
-        converter.input = "0"
+        // Keep this button highlighted after it's pressed so the user
+        // knows a new operation has begun.
         sender.setBackgroundImage(UIImage(named: "buttonAddBackground.png"), forState: .Normal)
         sender.setImage(UIImage(named: "buttonAddIconHighlighted.png"), forState: .Normal)
+        // Set the converter input to zero without updating the interface,
+        // as the user is going to input the value to be added next and expects
+        // the new number to appear on screen.
+        converter.input = "0"
     }
     
     @IBAction func minusPressed(sender: UIButton) {
         calculator.newSubtraction(Double(converter.input)!)
+        // Update the input label with the latest calculation,
+        // at this point stored as the initial value.
         converter.input = String(calculator.initialValue)
         updateInterface()
-        converter.input = "0"
+        // Keep this button highlighted after it's pressed so the user
+        // knows a new operation has begun.
         sender.setBackgroundImage(UIImage(named: "buttonSubtractBackground.png"), forState: .Normal)
         sender.setImage(UIImage(named: "buttonSubtractIconHighlighted.png"), forState: .Normal)
+        // Set the converter input to zero without updating the interface,
+        // as the user is going to input the value to be subtracted next and expects
+        // the new number to appear on screen.
+        converter.input = "0"
     }
     
     @IBAction func equalsPressed(sender: UIButton) {


extension MainViewController: ChangeCurrencyViewControllerDelegate {
    
    func didChangeCurrency(currencyCode: String, targetCurrency: String) {
        if targetCurrency == "input" {
            converter.setInputCurrency(currencyCode)
            updateInterface()
            prefs.setObject(currencyCode, forKey: "input")
            print("Input currency updated to: \(currencyCode)")
        }
        if targetCurrency == "output" {
            converter.setOutputCurrency(currencyCode)
            updateInterface()
            prefs.setObject(currencyCode, forKey: "output")
            print("Output currency updated to: \(currencyCode)")
        }

    }
    
    @IBAction func swipedInput(sender: AnyObject) {
        // If a user swipes on the input label, remove on digit.
        // The iOS native calculator app also has this hidden feature.
        converter.removeLastInput()
        updateInterface()
    }
    
    @IBAction func longPressedInput(sender: UIGestureRecognizer) {
        // Copy input label text to clipboard after a long press.
        if sender.state == .Began {
            UIPasteboard.generalPasteboard().string = inputCurrencyLabel.text
            print("Copied input currency value to clipboard.")
