     
     open func set       (color:UIColor, dragging:Bool, animated:Bool) {
         self.color = color
-        self.colorArrayManager.colorSet(color)
+        self.colorArrayManager.color = color
         componentSliders.forEach { $0.update(color:color, animated:animated) }
         componentDisplays.forEach { $0.updateFromColor() }
         handlerForColor?(color,dragging,animated)

        
        public struct Display {
            public var height                   = CGFloat(36)
        }
        
        public var display                      = Display()

        
        override open func updateFromColor() {
            super.updateFromColor()
            let font    = configuration.font
            let hex     = colorArrayManager.color.representationOfRGBAasHexadecimal
            if colorified {
                var representation = NSAttributedString.init()
                representation += "0x" | font
                representation += hex[0] | [
                    NSBackgroundColorAttributeName      : configuration.colorsBackground.red
                    ] | font | configuration.colorsForeground.red
                representation += hex[1] | [
                    NSBackgroundColorAttributeName      : configuration.colorsBackground.green // UIColor(hsb:[0.3,1,0.7])
                    ] | font | configuration.colorsForeground.green
                representation += hex[2] | [
                    NSBackgroundColorAttributeName      : configuration.colorsBackground.blue // UIColor(hsb:[0.61,1,1])
                    ] | font | configuration.colorsForeground.blue
                representation += hex[3] | [
                    NSBackgroundColorAttributeName      : configuration.colorsBackground.alpha // UIColor(white:0.6)
                    ] | font | configuration.colorsForeground.alpha
                self.text.attributedText = representation
            }
            else {
                self.text.backgroundColor = configuration.colorsBackground.none
                self.text.attributedText = "0x\(hex.joined())" | configuration.colorsForeground.none | font
            }
        }
    }
    
    open class ComponentDisplayValueRGB : ComponentDisplay, UITextFieldDelegate {
        
        public var colorified = true
        
        public var configuration    : Configuration.Display
        
        public let fieldR = {
            return UITextField()
        }()
        public let fieldG = {
            return UITextField()
        }()
        public let fieldB = {
            return UITextField()
        }()

        public let stack = {
            return UIStackView()
        }()
        
        public init(height: CGFloat, configuration:Configuration.Display, colorArrayManager:ColorArrayManager) {
            
            self.configuration = configuration
            
            super.init(height:height, colorLimit:1, colorArrayManager:colorArrayManager)
            
            self.addSubview(stack)
            stack.constrainToSuperview()
            
            stack.axis          = .horizontal
            stack.distribution  = .equalCentering
            stack.alignment     = .center
            
            stack.addArrangedSubview(UIView())
            for field in [fieldR,fieldG,fieldB] {
                field.text = "0.000"
                field.textColor = .white
                field.backgroundColor = .gray //UIColor(white:0,alpha:0.1)
                field.textAlignment = .center
                field.sizeToFit()
                stack.addArrangedSubview(field)
                
                field.delegate = self
            }
            stack.addArrangedSubview(UIView())

            super.addTap()
        }
        
        required public init?(coder aDecoder: NSCoder) {
            fatalError("init(coder:) has not been implemented")
        }
        
        override open func tapped() {
            colorified.flip()
            self.updateFromColor()
        }
        
        open func textFieldDidEndEditing(_ textField: UITextField) {
            switch textField {
            case fieldR:
                if let text = textField.text, let value = CGFloat(text.trimmed()) {
                    colorArrayManager.color = colorArrayManager.color.withRed(value)
                }
            case fieldG:
                if let text = textField.text, let value = CGFloat(text.trimmed()) {
                    colorArrayManager.color = colorArrayManager.color.withGreen(value)
                }
            case fieldB:
                if let text = textField.text, let value = CGFloat(text.trimmed()) {
                    colorArrayManager.color = colorArrayManager.color.withBlue(value)
                }
            default: break
            }
        }
        
        override open func updateFromColor() {
            
            super.updateFromColor()
            
            let RGBA = colorArrayManager.color.RGBA
            
            fieldR.font = configuration.font
            fieldG.font = configuration.font
            fieldB.font = configuration.font

            if colorified {
                fieldR.backgroundColor  = configuration.colorsBackground.red
                fieldG.backgroundColor  = configuration.colorsBackground.green
                fieldB.backgroundColor  = configuration.colorsBackground.blue
                fieldR.textColor        = configuration.colorsForeground.red
                fieldG.textColor        = configuration.colorsForeground.green
                fieldB.textColor        = configuration.colorsForeground.blue
            }
            else {
                fieldR.backgroundColor  = configuration.colorsBackground.none
                fieldG.backgroundColor  = configuration.colorsBackground.none
                fieldB.backgroundColor  = configuration.colorsBackground.none
                fieldR.textColor        = configuration.colorsForeground.none
                fieldG.textColor        = configuration.colorsForeground.none
                fieldB.textColor        = configuration.colorsForeground.none
            }
            
            fieldR.text = String.init(format: "%1.3f", RGBA.red)
            fieldG.text = String.init(format: "%1.3f", RGBA.green)
            fieldB.text = String.init(format: "%1.3f", RGBA.blue)
        }
    }
    
