 
     backgroundColor = Constant.Color.background
 
+    collectionView.addObserver(
+      self, forKeyPath: TabbyBar.collectionObserver,
+      options: .Old, context: nil)
+
     setupCollectionView()
     setupConstraints()
+  }
+
+  public override func observeValueForKeyPath(
+    keyPath: String?, ofObject object: AnyObject?,
+    change: [String : AnyObject]?,
+    context: UnsafeMutablePointer<Void>) {
+      positionIndicator(selectedItem)
   }
 
   /**

 */
public class TabbyBar: UIView {

  lazy var translucentView: UIVisualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .Light))

  lazy var layout: TabbyLayout = {
    let layout = TabbyLayout()
    layout.minimumInteritemSpacing = 0


   */
  public required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
  }

  deinit {
    collectionView.removeObserver(self, forKeyPath: NSKeyValueChangeOldKey)
  }

  // MARK: - Collection View setup
