   constructor: ->
     @inPorts =
       in: new noflo.Port
+      options: new noflo.Port
     @outPorts =
       out: new noflo.Port
+
+    @inPorts.options.on "data", (options) =>
+      if _.isObject options
+        for own key, value of options
+          options[key] = value
 
     @inPorts.in.on "connect", =>
       count++

      here = @locate()
      here[group] = []
      @groups.push group
      @outPorts.out.beginGroup group

    @inPorts.in.on "data", (data) =>
      here = @locate()
      here.push data
      @outPorts.out.send data

    @inPorts.in.on "endgroup", (group) =>
      @groups.pop()
      @outPorts.out.endGroup()

    @inPorts.in.on "disconnect", =>
      @outPorts.out.disconnect()

      log.push @cache
      count--


display = (log) ->
  for packet, i in log
    packet = util.inspect packet,
      options.showHidden, options.depth, options.colors
    packet = packet.replace /\n/g, "\n#{padding}"
    print.pf format, "DATA", packet
    delete log[i]

