Fix typo in comment
Implement proper cancelation

With added tests.
Also includes some fixes to sending errors downstream.