Make supported directives extensible more easily

We now have, instead of logic, merely data that commands the parsing of
directives - and it works.