Using StringBuilder internally to build the Strings.
Slight reformatting ahead of possible optimisation.
Exposed StringBuilder to the outside world which gets us a bit more performance.