       tkn = noflo.internalSocket.createSocket()
       out = noflo.internalSocket.createSocket()
       err = noflo.internalSocket.createSocket()
-      c.inPorts.in.attach ins
-      c.inPorts.message.attach msg
-      c.inPorts.repository.attach rep
-      c.inPorts.path.attach pth
-      c.inPorts.token.attach tkn
-      c.outPorts.out.attach out
-      c.outPorts.error.attach err
+      before ->
+        c = new noflo.Component
+        c.token = null
+        c.inPorts.add 'in', datatype: 'string'
+        .add 'message', datatype: 'string'
+        .add 'repository', datatype: 'string'
+        .add 'path', datatype: 'string'
+        .add 'token', datatype: 'string', (event, payload) ->
+          c.token = payload if event is 'data'
+        c.outPorts.add 'out', datatype: 'string'
+        .add 'error', datatype: 'object'
+
+        noflo.helpers.WirePattern c,
+          in: ['in', 'message', 'repository', 'path']
+          out: 'out'
+          async: false
+          forwardGroups: true
+        , (data, groups, out) ->
+          out.beginGroup data.path
+          out.send data.message
+          out.endGroup()
+
+        c.inPorts.in.attach ins
+        c.inPorts.message.attach msg
+        c.inPorts.repository.attach rep
+        c.inPorts.path.attach pth
+        c.inPorts.token.attach tkn
+        c.outPorts.out.attach out
+        c.outPorts.error.attach err
 
       it 'should handle mixed flow well', (done) ->
         groups = []

                y.disconnect()
            , delay*req.num

      noflo.helpers.WirePattern c,
        in: ['x', 'y']
        out: 'out'
        async: true
        forwardGroups: true
        group: isUuid
        gcFrequency: 2 # every 2 requests
        gcTimeout: 0.02 # older than 20ms
      , (input, groups, out, done) ->
        setTimeout ->
          out.send
            id: groups[0]
            x: input.x
            y: input.y
          done()
        , 3

      it 'should group requests by outer UUID group', (done) ->
        reqs = generateRequests 10

                y.disconnect()
            , delay*req.num

      before ->
        noflo.helpers.WirePattern c,
          in: ['x', 'y']
          out: 'out'
          async: true
          forwardGroups: true
        , (input, groups, out, done, postpone, resume, scope) ->
          setTimeout ->
            out.send
              id: scope
              x: input.x
              y: input.y
            done()
          , 3

      it 'should scope requests by proper UUID', (done) ->
        reqs = generateRequests 10
