         }
     }
     
+    public var classForCell: AnyClass = ScrollingTabCell.classForCoder() {
+        didSet {
+            if self.collectionView != nil {
+                self.collectionView.registerClass(classForCell, forCellWithReuseIdentifier: ScrollingTabTitleCell)
+            }
+        }
+    }
+    public var classForDivider: AnyClass = ScrollingTabDivider.classForCoder() {
+        didSet {
+            if self.collectionView != nil {
+                self.collectionView.collectionViewLayout.registerClass(classForDivider, forDecorationViewOfKind: ScrollingTabVerticalDividerType)
+                self.collectionView.collectionViewLayout.invalidateLayout()
+            }
+        }
+    }
+    
     var selectionIndicatorLeadingConstraint: NSLayoutConstraint!
     var selectionIndicatorBottomConstraint: NSLayoutConstraint!
     var selectionIndicatorHeightConstraint: NSLayoutConstraint!

        
        NSLayoutConstraint.activateConstraints([self.selectionIndicatorBottomConstraint, self.selectionIndicatorLeadingConstraint, self.selectionIndicatorHeightConstraint, self.selectionIndicatorWidthConstraint])
        
        self.collectionView.registerClass(ScrollingTabCell.classForCoder(), forCellWithReuseIdentifier: ScrollingTabTitleCell)
        self.collectionView.collectionViewLayout.registerClass(ScrollingTabDivider.classForCoder(), forDecorationViewOfKind: ScrollingTabVerticalDividerType)
        
        self.collectionView.showsHorizontalScrollIndicator = false
        self.collectionView.showsVerticalScrollIndicator = false

        super.init(coder: aDecoder)
        self.setup()
    }
    
    public init?(coder aDecoder: NSCoder, titleCellClass: AnyClass, dividerCellClass: AnyClass) {
        super.init(coder: aDecoder)
        self.classForCell = titleCellClass
        self.classForDivider = dividerCellClass
        self.setup()
    }
    
    

    func setup() {
        self.backgroundColor = UIColor.whiteColor()
