   required init?(coder aDecoder: NSCoder) {
     super.init(coder: aDecoder)
     setUpSubviews()
+  }
+
+  // MARK: - UIFocusEnvironment
+
+  override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
+    let focused = (context.nextFocusedView == button)
+    layoutIfNeeded()
+
+    coordinator.addCoordinatedAnimations({
+      self.frontBannerConstraint?.constant = focused ? -10 : 0
+      self.backBannerConstraint?.constant = focused ? 0 : -10
+      self.layoutIfNeeded()
+    }, completion: nil)
   }
 
   // MARK: - Private Methods

    titleLabel.translatesAutoresizingMaskIntoConstraints = false
    button.translatesAutoresizingMaskIntoConstraints = false

    frontBanner.topAnchor.constraintEqualToAnchor(topAnchor).active = true
    frontBanner.leadingAnchor.constraintEqualToAnchor(leadingAnchor).active = true
    frontBanner.trailingAnchor.constraintEqualToAnchor(trailingAnchor).active = true

    backBanner.topAnchor.constraintEqualToAnchor(topAnchor).active = true
    backBanner.leadingAnchor.constraintEqualToAnchor(leadingAnchor).active = true
    backBanner.trailingAnchor.constraintEqualToAnchor(trailingAnchor).active = true


  }()

  private let focusGuide = UIFocusGuide()
  private var frontBannerConstraint: NSLayoutConstraint?
  private var backBannerConstraint: NSLayoutConstraint?

  // MARK: - Initialization

