         if let uislider = control as? UISlider {
             if let slider = self.componentSliders.find({ $0.slider == uislider }) {
                 slider.action(uislider.value)
+            }
+        }
+    }
+    
+    func handleSliderLeftButtonEvent(_ control:UIControl) {
+        if let button = control as? UIButton {
+            if let slider = self.componentSliders.find({ $0.leftButton == button }) {
+                slider.actionOnLeftButton(slider)
+            }
+        }
+    }
+    
+    func handleSliderRightButtonEvent(_ control:UIControl) {
+        if let button = control as? UIButton {
+            if let slider = self.componentSliders.find({ $0.rightButton == button }) {
+                slider.actionOnRightButton(slider)
             }
         }
     }

        public var update           : (ComponentSlider,UIColor,Bool)->() = { _ in }
        public var action           : (Float)->() = { _ in }
        
        public func update          (color:UIColor, animated:Bool) {
            self.update(self,color,animated)
        }

            self.set(color:UIColor(CMYK:CMYK).withAlphaComponent(self.color.alpha), animated:false)
        }
        
        slider.actionOnLeftButton = { [weak self] slider in
            guard let `self` = self else { return }
            var CMYK = self.color.CMYK
            CMYK.magenta -= 1.0/255.0
            CMYK.magenta = CMYK.magenta.clampedTo01
            self.set(color:UIColor(CMYK:CMYK).withAlphaComponent(self.color.alpha), animated:false)
        }
        
        slider.actionOnRightButton = { [weak self] slider in
            guard let `self` = self else { return }
            var CMYK = self.color.CMYK
            CMYK.magenta += 1.0/255.0
            CMYK.magenta = CMYK.magenta.clampedTo01
            self.set(color:UIColor(CMYK:CMYK).withAlphaComponent(self.color.alpha), animated:false)
        }
        
        return slider
    }
