I think there is a design issue in https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Helper/DescriptorHelper.php#L68-L70 It will be more fexible if the descriptor will access the output because - Less memory used - The descriptor haven't to deal with `\n` - The ouput is not blocked - And Descriptor will be able to use another help. But I think it will break the BC :(