 
 protocol ColorModelContract {
     func background(_ color: UIColor)
+    func background(_ r: CGFloat, _ g: CGFloat, _ b: CGFloat, _ a: CGFloat)
     func clear()
     func fill(_ color: UIColor)
+    func fill(_ r: CGFloat, _ g: CGFloat, _ b: CGFloat, _ a: CGFloat)
     func stroke(_ color: UIColor)
+    func stroke(_ r: CGFloat, _ g: CGFloat, _ b: CGFloat, _ a: CGFloat)
     func strokeWeight(_ weight: CGFloat)
     func noFill()
     func noStroke()

        self.colorModel.fill(color)
    }

    public func stroke(_ color: UIColor) {
        self.colorModel.stroke(color)
    }

    public func strokeWeight(_ weight: CGFloat) {

        self.backgroundColor = color
    }

    public func background(_ r: CGFloat, _ g: CGFloat, _ b: CGFloat, _ a: CGFloat = 255) {
        self.colorModel.background(r, g, b, a)
    }

    public func clear() {
        self.colorModel.clear()
        self.background(UIColor.white)
