     
     private func animateBackground() {
         let type: AnimationKeyType = .backgroundColor
-        backgroundColorAnimation = CABasicAnimation(keyPath: type.keyPath)
+        let backgroundColorAnimation = CABasicAnimation(keyPath: type.keyPath)
         backgroundColorAnimation.fromValue      = type.fromValue
         backgroundColorAnimation.toValue        = animationBackgroundColor.CGColor
         backgroundColorAnimation.duration       = animationDuration

        resetSuperLayerShadow()
    }
    
    private func setBorderAnimation() {
        setBorderColorAnimation()
        setBorderWidthAnimation()
    }
    
    private func setBorderWithShadowAnimation() {
        setBorderColorAnimation()
        setShadowAnimation()
        setBorderWidthAnimation()
    }
    
    private func setBorderColorAnimation() {
        let type: AnimationKeyType = .borderColor
        borderColorAnimtion = CABasicAnimation(keyPath: type.keyPath)
        borderColorAnimtion.fromValue = type.fromValue
        borderColorAnimtion.toValue   = animationBorderColor.CGColor
    }
    
    private func setBorderWidthAnimation() {
        let type: AnimationKeyType = .borderWidth
        borderWidthAnimation = CABasicAnimation(keyPath: type.keyPath)
        borderWidthAnimation.fromValue = type.fromValue
        borderWidthAnimation.toValue   = AnimationConstants.borderWidth
    }
    
    private func setShadowAnimation() {
        let type: AnimationKeyType = .shadowOpacity
        shadowAnimation = CABasicAnimation(keyPath: type.keyPath)
        shadowAnimation.fromValue = type.fromValue
        shadowAnimation.toValue   = AnimationConstants.shadowOpacity
    }
    

    }
    
    private func animateText() {
        let textColorAnimation = CABasicAnimation(keyPath: AnimationKeyType.foregroundColor.keyPath)
        textColorAnimation.duration            = animationDuration
        textColorAnimation.autoreverses        = true
        textColorAnimation.repeatCount         = AnimationConstants.repeatCount
