sync with trunk, add dependencies
added reporting finished tasks back to dispatcher
task scheduling