ContentType now belongs in message JSON, not config