 
 // MARK: Text View editing
 
+    // Removes the undo state, and updates the text view, including the overlay
+    // and first responder state.  This method is meant to be used during
+    // initialization.
+    private func userSetCurrentText(value : NSAttributedString?) {
+        if currentText != value {
+            if let text = value {
+                textView.attributedText = text
+                sayElloOverlay.hidden = true
+            }
+            else {
+                textView.text = ""
+                sayElloOverlay.hidden = false
+            }
+        }
+
+        currentText = value
+        textView.resignFirstResponder()
+        resetUndoState()
+    }
+
     public func textViewShouldBeginEditing(textView : UITextView) -> Bool {
         return true
     }

        setupToolbarButtons()
        setupTextViews()
        setupViewHierarchy()
    }

    required public init(coder aDecoder: NSCoder) {


    public func removeButtonAction() {
        userSetCurrentImage(nil)
    }

    public func swipedDown() {
        resignKeyboard()
    }

// MARK: Undo logic
