         // XXX width and height get defined by the buttons once created. do we need to specify a low priority default size for it?
     }
     
-    func removeButtons() {
-        for button in buttons {
-            button.removeFromSuperview()
-        }
-        buttons.removeAll()
-        // XXX we need to remove all the old constraints related to these buttons also
-    }
-    
     func reloadColors() {
-        
-        // remove the old buttons
-        removeButtons()
         
         guard let delegate = self.delegate else {
             return

    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]

        self.label.textColor = UIColor(white:0.8, alpha:1.0)
        self.label.font = UIFont.boldSystemFont(ofSize:16)
        self.addSubview(self.label)
        
        let views : [String:Any] = ["label" : self.label]
        self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat:"|-31-[label]", options:NSLayoutFormatOptions(rawValue:0), metrics:nil, views:views))
        self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat:"V:|-16-[label]", options:NSLayoutFormatOptions(rawValue:0), metrics:nil, views:views))
