graph TB
start-- double Lclick task -->dialogAppears[dialog appears with task state]
dialogAppears-- (Lclick cancel || Lclick save) && no dialog changes -->dialogDisappears[dialog disappears; no change to task]
dialogAppears-- one or more dialog changes -->stateChange[state changes appear in dialog]
dialogAppears-- Lclick delete -->confAppears
stateChange-- Lclick cancel -->dialogDisappears
stateChange-- Lclick delete -->confAppears[confirmation appears]
stateChange-- Lclick save -->taskChanges[dialog disappears; task changes]
confAppears-- Lclick cancel -->dialogDisappears
confAppears-- Lclick delete -->taskDisappears[dialog disappears; task disappears]
dialogDisappears-->stop
taskChanges-->stop
taskDisappears-->stop
