code: function asyncStrategy(node, oAggregation, mAggregations) {
  			var childNode,
  				pChain = Promise.resolve(),
  				aChildPromises = [];
  
  			for (childNode = node.firstChild; childNode; childNode = childNode.nextSibling) {
  				pChain = pChain.then(fnCallback.bind(null, node, oAggregation, mAggregations, childNode));
  				aChildPromises.push(pChain);
  			}
  			return Promise.all(aChildPromises);
  		}
docs: async strategy ensures processing order by chaining the callbacks