Package main demonstrates the functional / closure style of durable-go.
A payment task runs three steps: validate, charge, and send receipt.
If the process crashes after "charge-stripe" succeeds, re-running with the
same taskID and runID replays the cached result and only executes "send-receipt".