A lot of temporary/local strings were created out of C-strings substr can utilize current string size, so in theory be a little more efficient.
Split these classes out into their own sources.