  */
 public class TabbyBar: UIView {
 
+  static let collectionObserver = "contentSize"
+
   lazy var translucentView: UIVisualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .Light))
 
-  lazy var layout: TabbyLayout = {
+  lazy var layout: TabbyLayout = { [unowned self] in
     let layout = TabbyLayout()
     layout.minimumInteritemSpacing = 0
 

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

  // MARK: - Collection View setup


    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)
  }

  /**
