Crud, so we'll have to rework the UI state machine a bit too then... do we need a WAITING_FOR_CANCEL state maybe?  I'll look at it some more...