Reduce allocations with delegate parameters, separate string generation