       if ip.type is 'closeBracket'
         # Bracket closings before data should remove bracket context
         @result.__bracketClosingBefore = [] unless @result.__bracketClosingBefore
-        context = @nodeInstance.bracketContext[port][@scope].pop()
+        context = @nodeInstance.getBracketContext(port, @scope, ip.index).pop()
         context.closeIp = ip
         @result.__bracketClosingBefore.push context
         continue
       if ip.type is 'openBracket'
         # Bracket openings need to go to bracket context
-        @nodeInstance.bracketContext[port][@scope].push
+        @nodeInstance.getBracketContext(port, @scope, ip.index).push
           ip: ip
           ports: []
           source: port

      @outputQ.push result
      do @processOutputQueue
    return

  addToResult: (result, port, ip, before = false) ->
    if port.indexOf('[') is -1

          return unless buf[0] is ip
          # Remove from buffer
          port.get ip.scope
          context = @getBracketContext(port.name, ip.scope, ip.index).pop()
          context.closeIp = ip
          debug "#{@nodeId} closeBracket-C #{ip.data} #{context.ports}"
          result =
