break the msgTemplate into three parts to avoid generating spurious marshall/demarshall implementations