Externalize IOUtils
Externalize parser
Externalize conditional
Extract directive handler