Task Dag interface and some implementation (untested)
Merge remote-tracking branch 'origin/master' into tomerge
Untested Add functions and completed interface