The descriptor idea come from Symfony too https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Descriptor/TextDescriptor.php#L25