           # Emulating some processing logic here
           if payload.name is 'DelayLama'
             # oops
-            c.outPorts.saved.send false
-            c.outPorts.saved.disconnect()
-            return c.fail noflo.helpers.CustomError 'Suspended for a meditation',
+            out.send false
+            out.disconnect()
+            return this.fail noflo.helpers.CustomError 'Suspended for a meditation',
               kind: 'runtime_error'
               code: 'delay_lama_detected'
           else
-            c.outPorts.saved.send true
-            c.outPorts.saved.disconnect()
-
-      c.outPorts.add 'saved', datatype: 'boolean'
-      c.outPorts.add 'error', datatype: 'object'
+            out.send true
+
       form = new noflo.internalSocket.createSocket()
-      saved = new noflo.internalSocket.createSocket()
-      err = new noflo.internalSocket.createSocket()
       c.inPorts.form.attach form
-      c.outPorts.saved.attach saved
-      c.outPorts.error.attach err
-      noflo.helpers.MultiError c
+      saved = null
+      err = null
+      beforeEach ->
+        saved = new noflo.internalSocket.createSocket()
+        err = new noflo.internalSocket.createSocket()
+        c.outPorts.saved.attach saved
+        c.outPorts.error.attach err
+      afterEach ->
+        c.outPorts.saved.detach saved
+        c.outPorts.error.detach err
 
       it 'should support multiple customized error messages', (done) ->
         errCount = 0
         err.on 'data', (data) ->
-          chai.expect(data instanceof Error).to.be.true
+          chai.expect(data instanceof Error, 'should be instance of error').to.be.true
           chai.expect(data.kind).to.equal 'form_error'
           errCount++
         err.on 'disconnect', ->

            param: 'accept'
          ), ['e3']
        # Finish validation
        return callback no if this.hasErrors

        setTimeout ->
          # Emulating some processing logic here
          if payload.name is 'DelayLama'
            # oops
            out.send false
            return callback noflo.helpers.CustomError 'Suspended for a meditation',
              kind: 'runtime_error'
              code: 'delay_lama_detected'
          else
            out.send true
            callback()
        , 10

      it 'should support multiple error messages and groups and scope', (done) ->
        expected = [
          'Registration'
          'async0'
          'e1'
          'async0'
          'e2'
          'async0'
          'e3'
        ]
        actual = []

          chai.expect(hadData).to.be.true
          done()

        err.on 'data', (data) ->
          done data

