If anyone is trying the same, I did it as @mfalkvidd recommended, with several child IDs
Then I basically reset the message if data comes on on first childId, and only append it if data comes on any other sensor, something like
if (message.sensor == messageCHILD1){
strcpy(newMessage, " "); // we put some spaces in front
strcat(newMessage, message.getString());
}else{
if(curMessage!=""){
// append existing message to newMessage
strcpy(newMessage, curMessage);
}
//append rest
strcat(newMessage, message.getString());
}
Note: the code also works with just two sensors, first for reset, and second that only appends data, but I decided to go with four child IDs, in case there is something I am not seeing at the moment.
Thanks everyone for ideas