Added hamcrest lib, needed to run unit tests.
Rather than having a complicated pooling process, just re-create the Processor each time. It was getting 'reset' every time anyway, so there's no benefit in keeping them around.
Reduce the amount of garbage by passing through the Writer, rather than concatenating strings all over.
Forgot to return.