some optimizations for addresses in the graph
changing log level from debug to trace
allow a null value here as the message recipient
let's see if we can get away without cloning the messages here