     private var lineLayer: CAShapeLayer! {
         get {
             if _lineLayer == nil {
-                _lineLayer = CAShapeLayer()
-                
-                _lineLayer!.strokeColor = lineColor.CGColor
-                _lineLayer!.fillColor   = UIColor.clearColor().CGColor
-                _lineLayer!.lineCap     = kCALineCapRound
-                _lineLayer!.lineJoin    = kCALineJoinRound
-                _lineLayer!.lineWidth   = lineWidth
-                _lineLayer!.path        = checkmarkPath.CGPath
+                _lineLayer = checkmarkLayerWithColor(lineColor)
                 
                 self.layer.addSublayer(_lineLayer)
             }

        CATransaction.commit()
    }
    
    private var _lineLayer: CAShapeLayer? {
        didSet {
            oldValue?.removeFromSuperlayer()

    private var lineHighlightedLayer: CAShapeLayer! {
        get {
            if _lineHighlightedLayer == nil {
                _lineHighlightedLayer = checkmarkLayerWithColor(lineHighlightedColor)
                
                self.layer.addSublayer(_lineHighlightedLayer)
            }
