         
         self.addSubview(result)
         
-        let marginOnTop     = CGFloat(title == nil ? 0 : 18) // TODO: REFACTOR CONSTANT/COMPUTE?
-        let marginOnBottom  = CGFloat(0)
+        let marginOnTop     = CGFloat(title == nil ? configuration.slider.marginOnTop : configuration.slider.marginOnTopWithTitle) // TODO: REFACTOR CONSTANT/COMPUTE?
+        let marginOnBottom  = configuration.slider.marginOnBottom
+        
         result.build(side:side, marginOnTop:marginOnTop, marginOnBottom:marginOnBottom)
         
-        result.title = addTitle(to: result, marginOnTop:2, title: title)
+        result.title = addTitle(to: result, marginOnTop: configuration.title.marginOnTop, title: title)
         
         result.slider.addTarget(self, action: #selector(GenericPickerOfColor.handleSliderEventDragEnd(_:)), for: [.touchUpInside, .touchUpOutside])
         

        return display
    }
    
    open func addComponentOperations            (height:CGFloat = 32, side:CGFloat = 36, operations:[Operation]) -> ComponentOperations {
        
        let display = ComponentOperations(height:height, side:side, operations:operations)
        
        self.addSubview(display)
        
        display.translatesAutoresizingMaskIntoConstraints=false
        display.heightAnchor.constraint(equalToConstant: side).isActive=true
        display.widthAnchor.constraint(equalTo: self.widthAnchor).isActive=true
        display.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive=true
        

            let colorFill       = UIColor(white:0.3)
            let colorStroke     = UIColor(white:1,alpha:0.5)
            
            button.frame        = CGRect(side:side)
            
            button.circle(for: .normal).fillColor       = colorFill.cgColor
            button.circle(for: .normal).strokeColor     = colorStroke.cgColor
