         sayElloOverlay.addSubview(sayElloLabel)
         textContainer.addSubview(textView)
     }
+    private func setupSwipeGesture() {
+        let gesture = UISwipeGestureRecognizer()
+        gesture.direction = .Down
+        gesture.addTarget(self, action: Selector("swipedDown"))
+        self.addGestureRecognizer(gesture)
+    }
 
 // MARK: Public interface
-
-    // 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 reportSuccess(title : String) {
         let alertController = AlertViewController(message: title)


    public func removeButtonAction() {
        userSetCurrentImage(nil)
    }

// MARK: Undo logic

        setupToolbarButtons()
        setupTextViews()
        setupViewHierarchy()
        setupSwipeGesture()
    }

    required public init(coder aDecoder: NSCoder) {
