   queue = []
 
   for providerSlug, provider of PROVIDERS
-    queue.push ->
+    queue.push (next) ->
       fn providerSlug, provider
-      queue.next()
+      next()
 
-  queue.push -> callback()
-
-  daisy queue
+  async.series queue, callback
 
 
 # this helper registers a new user and creates requested models

{ _
  daisy
  expect
  ObjectId
  withConvertedUser

        visibility     : 'visible'
        allowedDomains : ['koding.com']

      async.series [

        (next) ->
          JGroup.create client, groupData, account, (err, group_) ->
            group = group_
            next err

        (next) ->
          # if StackTemplate is in models, then create a StackTemplate
          # for the newly created group
          return next()  unless 'StackTemplate' in models
          _createStackTemplate client, options, ({ stackTemplate }) ->
            query = { $set : { stackTemplates : [stackTemplate._id] } }
            group.update query, next

      ], (err) ->
        expect(err).to.not.exist
        callback { group }


    _createCredential = (client, options, callback) ->
      createCredential client, options, (err, data_) ->
        expect(err).to.not.exist
        callback data_


    _createProvisioner = (client, options, callback) ->
      createProvisioner client, options, (err, data_) ->
        expect(err).to.not.exist
        callback data_


    _createStackTemplate = (client, options, callback) ->
      createStackTemplate client, options, (err, data_) ->
        expect(err).to.not.exist
        callback data_


