   struct Key {
     static var animationKey = "toggleTabbyAnimation"
   }
+
+  var heightConstraint: NSLayoutConstraint?
+
+  lazy var hiddenConstraint: NSLayoutConstraint = { [unowned self] in
+    let constraint = NSLayoutConstraint(
+      item: self.tabbyBar, attribute: .height,
+      relatedBy: .equal, toItem: nil,
+      attribute: .notAnAttribute,
+      multiplier: 1, constant: 0)
+
+    return constraint
+    }()
+
+  lazy var shownConstraint: NSLayoutConstraint = { [unowned self] in
+    let constraint = NSLayoutConstraint(
+      item: self.tabbyBar, attribute: .height,
+      relatedBy: .equal, toItem: nil,
+      attribute: .notAnAttribute,
+      multiplier: 1, constant: Constant.Dimension.height)
+
+    return constraint
+  }()
 
   lazy var toggleAnimation: CABasicAnimation = {
     let animation = CABasicAnimation(keyPath: "position.y")

    })
  }

  func applyNewConstraints(_ subview: UIView) {
    var constant: CGFloat = 0

    if barVisible {

    addChildViewController(controller)
    view.insertSubview(controller.view, belowSubview: tabbyBar)

    applyNewConstraints(controller)
  }
}
