     group = KD.getSingleton("groupsController").getCurrentGroup()
     group.createVM {type, planCode}, vmCreateCallback
 
-  fetchVMs: do (waiting = []) ->
-    (force, callback)->
-      [callback, force] = [force, callback]  unless callback?
-      return  unless callback?
-
-      if @vms.length
-        return @utils.defer => callback null, @vms
-
-      return if not force and (waiting.push callback) > 1
-
-      KD.remote.api.JVM.fetchVms (err, vms)=>
-        @vms = vms  unless err
-        if force
-        then callback err, vms
-        else
-          cb err, vms  for cb in waiting
-          waiting = []
-
+  fetchVMs: do (waiting = []) -> (force, callback)->
+    [callback, force] = [force, callback]  unless callback?
+
+    return  unless callback?
+
+    if @vms.length
+      @utils.defer => callback null, @vms
+      return
+
+    return  if not force and (waiting.push callback) > 1
+
+    KD.remote.api.JVM.fetchVms (err, vms)=>
+      @vms = vms  unless err
+      if force
+      then callback err, vms
+      else
+        cb err, vms  for cb in waiting
+        waiting = []
 
   fetchGroupVMs:(callback = noop)->
     if @groupVms.length > 0

    { JVM } = KD.remote.api

    { plan, pack } = productData
      
    if paymentMethod and not subscription

      return plan.subscribe paymentMethod.paymentMethodId, (err, subscription) =>
        return  if KD.showError err

        @provisionVm { subscription, productData }

    subscription.debit pack, (err, nonce) =>
      return  if KD.showError err

      JVM.createVmByNonce nonce, (err, vm) =>


    productForm = new VmProductForm

    payment = KD.getSingleton 'paymentController'

    payment.fetchSubscriptionsWithPlans ['vm'], (err, subscriptions) ->
      productForm.setCurrentSubscriptions subscriptions

    productForm.on 'PackOfferingRequested', (subscription) ->
