Message templating and rollup

Addresses #329 and #291