         
         private var list: List
         private let cellId = "ListCell"
-        
-        init(list: List) {
+        private let cellBackgroundColor: UIColor
+        private let cellTextColor: UIColor
+
+        init(list: List, tableBackgroundColor: UIColor = .white, cellBackgroundColor: UIColor = .white, cellTextColor: UIColor = .black) {
             self.list = list
+            self.cellBackgroundColor = cellBackgroundColor
+            self.cellTextColor = cellTextColor
+
             super.init(style: .plain)
+
+            self.tableView.backgroundColor = tableBackgroundColor
         }
         
         required init?(coder aDecoder: NSCoder) {

    
    fileprivate override func makePopoverViewController() -> UIViewController? {
        guard let list = self.list else { return nil }
        return ListViewController(list: list)
    }
}



    private let _innerButton = DropDownListButton()
    fileprivate override var innerButton: DropDownListButton { return _innerButton }

    public var listBackgroundColor: UIColor {
        get { return _innerButton.listBackgroundColor }
        set { _innerButton.listBackgroundColor = newValue }
    }
    public var itemBackgroundColor: UIColor {
        get { return _innerButton.itemBackgroundColor }
        set { _innerButton.itemBackgroundColor = newValue }
    }
    public var itemTextColor: UIColor {
        get { return _innerButton.itemTextColor }
        set { _innerButton.itemTextColor = newValue }
    }
}

public class DropDownMenuBarButton: DropDownBarButton {
