Some more work on the EnsembleTask + new helper class for knowledge path manipulation

@mkit