use an exception rather than a object variable to propagate command cancellation information