Graceful cancellations: How to keep your application/workflow state consistent · HackerTrans