     
     override init(frame: CGRect) {
         super.init(frame: frame)
-        setup()
+        commonInit()
     }
     
     required init?(coder aDecoder: NSCoder) {
         super.init(coder:aDecoder)
-        setup()
+        commonInit()
     }
-
-    func setup() {
+    
+    func commonInit() {
         setupLabel()
         setupDivider()
         setupButtonPanel()

    func setupDivider() {
        self.divider = UIView()
        self.divider.translatesAutoresizingMaskIntoConstraints = false
        self.divider.backgroundColor = UIColor(white:0.8, alpha:1.0)
        self.addSubview(self.divider)
        
        let views : [String:Any] = ["label" : self.label, "divider" : self.divider]

        // XXX width and height get defined by the buttons once created. do we need to specify a low priority default size for it?
    }
    
    func reloadColors() {
        
        guard let delegate = self.delegate else {
            return
