Using libxmljs for parsing, since we only have well formed xml documents in this case
Using async recursive directory processing of documents
moved document logic back into adapter code