Support arbitrary message modes