 
   @createTransformed = (prevMessage, payload) ->
     new this(prevMessage.transmission, payload, {
-      precedence: prevMessage.precedence
-      direction:  prevMessage.direction
-      nesting:    prevMessage.nesting
-      sourceMessage: prevMessage
+      precedence:     prevMessage.precedence
+      direction:      prevMessage.direction
+      nesting:        prevMessage.nesting
+      sourceMessages: [prevMessage]
     })
 
 




  getSourceNode: ->
    if @sourceMessage?
      @sourceMessage.getSourceNode()
    else
      @node


  markSourceMessageAsDelivered: ->
    if @sourceMessage?
      @sourceMessage.markSourceMessageAsDelivered()
    else
      @wasDelivered = yes
    return this

      precedence
      direction: prevMessage.direction #TODO
      nesting
      sourceMessages: prevMessages.map ([key, message]) -> message
    })



  constructor: (@transmission, @payload, opts = {}) ->
    {@precedence, @direction, @nesting} = opts
    @sourceMessages = opts.sourceMessages ? []


  createNextMessage: (payload) ->
