Add intermediate step of parsing into tokens and generate message from token list, eliminating need of extensive intermediate parse state