package io.elssa.nn;

public class ElssaMessage {

    private byte[] payload;

    /**
     * Constructs an ElssaMessage from an array of bytes.
     *
     * @param payload message payload in the form of a byte array.
     */
    public ElssaMessage(byte[] payload) {
        this.payload = payload;
    }

    /**
     * Retrieves the payload for this ElssaMessage.
     *
     * @return the ElssaMessage payload
     */
    public byte[] payload() {
        return payload;
    }
}

@@ -71,16 +71,52 @@
 payload;
+%0A    private MessageContext context;
 %0A%0A    /*
@@ -338,16 +338,144 @@
 %0A    %7D%0A%0A
+    public ElssaMessage(byte%5B%5D payload, MessageContext context) %7B%0A        this(payload);%0A        this.context = context;%0A    %7D%0A%0A
     /**%0A
@@ -607,24 +607,24 @@
 payload() %7B%0A
-
         retu
@@ -640,11 +640,80 @@
 d;%0A    %7D
+%0A%0A    public MessageContext context() %7B%0A        return context;%0A    %7D
 %0A%7D%0A

Add context to message encapsulation