Make tasks cancellable, and shrink public API surface area
Lower spec timeout, all specs execute very fast
Adjust the error received if puddle crashes
Update Task documentation