 
 extension ColorMatchTabsViewController: CircleMenuDataSource {
     
-    public func numberOfItems(inMenu circleMenu: CircleMenu) -> Int {
+    open func numberOfItems(inMenu circleMenu: CircleMenu) -> Int {
         return dataSource?.numberOfItems(inController: self) ?? 0
     }
     
-    public func circleMenu(_ circleMenu: CircleMenu, tintColorAt index: Int) -> UIColor {
+    open func circleMenu(_ circleMenu: CircleMenu, tintColorAt index: Int) -> UIColor {
         return dataSource!.tabsViewController(self, tintColorAt: index)
     }
     


extension ColorMatchTabsViewController: PopoverViewControllerDataSource {
    
    public func numberOfItems(inPopoverViewController popoverViewController: PopoverViewController) -> Int {
        return dataSource?.numberOfItems(inController: self) ?? 0
    }
    
    public func popoverViewController(_ popoverViewController: PopoverViewController, iconAt index: Int) -> UIImage {
        return dataSource!.tabsViewController(self, iconAt: index)
    }
    
    public func popoverViewController(_ popoverViewController: PopoverViewController, hightlightedIconAt index: Int) -> UIImage {
        return dataSource!.tabsViewController(self, hightlightedIconAt: index)
    }
    


extension ColorMatchTabsViewController: UIViewControllerTransitioningDelegate {
    
    open func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
        circleTransition.mode = .show
        circleTransition.startPoint = _view.circleMenuButton.center
        
        return circleTransition
    }
    
    open func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
        guard let dismissedViewController = dismissed as? PopoverViewController else {
            return nil
        }
