         return nil
     }
 
-    fileprivate var container: DropDownBarButton? // Is this button the custom view of a bar button item (see UIBarButtonItem subclasses below)
+    fileprivate var outerButton: DropDownBarButton? // This button might be the custom view of a bar button item (see the UIBarButtonItem subclasses below)
 
     // MARK: UIPopoverPresentationControllerDelegate
     

    
    private var list: List?

    public func setList(items: [CustomStringConvertible]) -> Bool {
        guard items.count > 0 else { return false }
        
        list = List(items: items)
        
        return true
    }
    
    fileprivate override func getPopoverViewController() -> UIViewController? {

    }
    
    fileprivate func initialize() {
        innerButton.outerButton = self
        customView = innerButton
    }

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

public class DropDownListBarButton: DropDownBarButton {
    
    public func setList(items: [CustomStringConvertible]) -> Self? {
        return innerButton.setList(items: items) == nil ? nil : self
    }

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

public class DropDownMenuBarButton: DropDownBarButton {
    
    public func setMenu(items: [CustomStringConvertible], initialSelection: Int, selectionHandler: @escaping ((CustomStringConvertible) -> Void)) -> Self? {
        return innerButton.setMenu(items: items, initialSelection: initialSelection, selectionHandler: selectionHandler) == nil ? nil : self
    }

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

