      - copyright: ©2016 Lionheart Software LLC
      - date: February 18, 2016
      */
-    private func keyboardDidShow(sender: NSNotification) {
+    func keyboardDidShow(sender: NSNotification) {
         guard let conformingSelf = self as? KeyboardAdjusting else {
             return
         }


    /**
     A private method called when the keyboard is about to be hidden.
     
     - parameter sender: An `NSNotification` containing a `Dictionary` with information regarding the keyboard appearance.
     - author: Daniel Loewenherz
     - copyright: ©2016 Lionheart Software LLC
     - date: February 18, 2016
     */
    private func keyboardWillHide(sender: NSNotification) {
        guard let conformingSelf = self as? KeyboardAdjusting else {
            return
        }

     - date: February 18, 2016
     */
    public func activateKeyboardAdjustment(showBlock: AnyObject?, hideBlock: AnyObject?) {
        if let conformingSelf = self as? KeyboardAdjusting {
            // Activate the bottom constraint.
            conformingSelf.keyboardAdjustmentConstraint?.active = true

            let notificationCenter = NSNotificationCenter.defaultCenter()
            notificationCenter.addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: hideBlock)
            notificationCenter.addObserver(self, selector: "keyboardDidShow:", name: UIKeyboardDidShowNotification, object: showBlock)

            if let viewA = conformingSelf.keyboardAdjustmentConstraint?.firstItem as? UIView,
                viewB = conformingSelf.keyboardAdjustmentConstraint?.secondItem as? UIView {
                    if viewB.subviews.contains(viewA) {
                        assertionFailure("Please reverse the order of arguments in your keyboard adjustment constraint.")
                    }
            }
        }
        else {
            print("You must define `keyboardAdjustmentConstraint` on your view controller to activate KeyboardAdjuster.")
