         rules         :
           clear       : clearValidationErrors
           checkCVC    : (input, event) ->
-            val    = $.trim input.getValue().replace(/-|\s/g, '')
-            result = Stripe.card.validateCVC val
-            result = if result
-            then no
-            else 'CVC is not valid'
+            val = $.trim input.getValue().replace(/-|\s/g, '')
+            returnResult = result = Stripe.card.validateCVC val
+            result = if result then no else 'CVC is not valid'
             input.setValidationResult 'checkCVC', result
-
         events        :
-          clear       : 'focus'
-          checkCVC    : 'blur'
+          clear       : ['keydown']
+          checkCVC    : ['blur', 'keyup']
     }
 
     fields.cardName = {

        rules        :
          clear      : clearValidationErrors

          checkCC    : (input, event) ->
            val = $.trim input.getValue().replace(/-|\s/g,"")
            result = Stripe.card.validateCardNumber val
            result = if result
            then no
            else 'Card number is not valid'
            input.setValidationResult 'checkCC', result

          cardType   : do =>
            cssClass = null
            return (input, event) =>
              @unsetClass cssClass  if cssClass
              val = $.trim input.getValue().replace(/-|\s/g,"")
              cssClass = (Stripe.card.cardType val).toLowerCase()
              cssClass = KD.utils.slugify cssClass
              @setClass cssClass

        events       :
          cardType   : 'keyup'
          checkCC    : 'blur'
          clear      : 'focus'
    }

    fields.cardCVC = {

          checkYear      : (yearInput, event) =>
            yearVal    = $.trim yearInput.getValue().replace(/-|\s/g, '')
            validMonth = (new Date).getMonth() + 1
            returnResult = result = Stripe.card.validateExpiry validMonth, yearVal
            result = if result then no else 'Invalid year!'
            yearInput.setValidationResult 'checkYear', result
            return returnResult

        events           :
          checkYear      : ['keyup', 'blur']
          clear          : ['keydown']
    }

    { planTitle, planInterval, currentPlan
