           callback null, subscription
 
   createSubscription: (options, callback) ->
-    { plan, planOptions, promotionType, email, paymentMethod, createAccount } = options
-    { paymentMethodId, billing } = paymentMethod
+    { plan, planOptions, promotionType, paymentMethod } = options
+    { paymentMethodId } = paymentMethod
     { planApi } = planOptions
 
     throw new Error "Must provide a plan API!"  unless planApi?

      planCode: plan.planCode
    }

    planApi.subscribe options, (err, subscription, rest...) =>
      if err?.short is 'existing_subscription'
        { existingSubscription } = err

        if existingSubscription.status is 'active'
          new KDNotificationView
            title: "You are already subscribed to this plan!"
          KD.getSingleton('router').handleRoute '/Account/Subscriptions'

        else
          existingSubscription.plan = plan
          @confirmReactivation existingSubscription, callback

      else if createAccount
        { JUser } = KD.remote.api

        { cardFirstName: firstName, cardLastName: lastName } = billing

        JUser.convert { firstName, lastName, email }, (err) ->
          return callback err  if err

          JUser.logout (err) ->
            callback err, subscription, rest...
      else
        callback err, subscription, rest...

  transitionSubscription: (formData, callback) ->
    { productData, oldSubscription, promotionType, paymentMethod, createAccount, email } = formData

      .on 'DataCollected', (data) =>
        @transitionSubscription data, (err, subscription, rest...) ->
          return  if KD.showError err
          workflow.emit 'Finished', data, err, subscription, rest...

      .on 'Finished', (data, err, subscription, rest...) =>
        { plan, email, createAccount, paymentMethod: {billing} } = data
        if err?.short is 'existing_subscription'
          { existingSubscription } = err
          if existingSubscription.status is 'active'
            new KDNotificationView title: "You are already subscribed to this plan!"
            KD.getSingleton('router').handleRoute '/Account/Subscriptions'
          else
            existingSubscription.plan = plan
            @confirmReactivation existingSubscription, (err, subscription) =>
              return KD.showError err  if err
              @emit "SubscriptionReactivated", subscription
        else if createAccount
          { cardFirstName: firstName, cardLastName: lastName } = billing
          { JUser } = KD.remote.api
          JUser.convert { firstName, lastName, email }, (err) ->
            JUser.logout()

      .enter()

    workflow
