we should refactor tasks to be more like

```js
function Task(ui, leek, dep3, dep4) {
  this.ui = ui;
  this.leek = leek;
  // other collaborators <-- this part will take some more magic, so for now, just the above and we can require build-watcher
}
```

and then while building tasks, we provide them there collaborators