 
       return KD.showError err  if err?
 
-      { planTitle, provider } = subscription
+      { planTitle, provider, planInterval } = subscription
 
-      @state.currentPlan = planTitle
-      @state.provider    = provider
+      @state.currentPlan         = planTitle
+      @state.provider            = provider
+      @state.currentPlanInterval = planInterval
 
-      @plans.planViews[planTitle].disable()
-
-      if planTitle is 'free'
-        @plans.planViews[@state.promotedPlan].setClass 'promoted'
+      @plans.setState @state
 
       callback()
 


    @workflowController.once 'PaymentWorkflowFinishedSuccessfully', (state) =>

      plan.enable()  for own _, plan of @plans.planViews

      { planTitle } = state
      @plans.planViews[planTitle].disable()

      @state.currentPlan = state.planTitle

      KD.singletons
        .router


    return @loadPlan @lazyBound 'planSelected', options  unless @state.currentPlan?

    isCurrentPlan =
      options.planTitle    is @state.currentPlan and
      options.planInterval is @state.currentPlanInterval

    return KD.showError "That's already your current plan."  if isCurrentPlan

    @setState options

