Yep exactly - individual components of the string are encoded at different stages to prevent pipes and other characters from breaking the parser.
Clearly though all the kinks are not worked out as others here have reported breaking it with some characters. Work in progress for sure!