     membershipPolicy.approvalEnabled = no  if requestType is 'by-invite'
 
     queue.push(
-      -> membershipPolicy.save (err) ->
-        if err then callback err
-        else queue.next()
-      => @addMembershipPolicy membershipPolicy, (err) ->
-        if err then callback err
-        else queue.next()
+
+      (next) ->
+        membershipPolicy.save next
+
+      (next) =>
+        @addMembershipPolicy membershipPolicy, next
+
     )
-    queue.push callback  if callback
-    daisy queue
+
+    async.series queue, (err) ->
+      return callback err  if err
+      return callback null, membershipPolicy
+      
 
   destroyMemebershipPolicy:(callback) ->
     @fetchMembershipPolicy (err, policy) ->

        contents[event]       = contents.member


        next = -> queue.next()
        queue = admins.map (admin) => =>
          contents.recipient = admin
          @notify admin, event, contents, next



        notifyByUsernames usernames, 'NewMemberJoinedToGroup', contents

        async.series queue


  @each$ = (selector, options, callback) ->
