Make an Execution[T] type, which is a monad, which makes composing Jobs easy.

We could add that easily. snapshotExecution is similar, you just don't control the task.

Alternatively:
```scala
val forked = somestuff.fork
val ex1 = forked.writeExecution(sink)
val ex2 = someMore(forked)
ex1.zip(ex2).map(_ => ())
```