To implement mutual exclusion, gadgets must be hit-select (not gact_toggleselect) boolean gadgets, with the gact_immediate activation type (never gact_relverify). all state changes must be executed upon receiving the idcmp_gadgetdown message for the gadgets. failure to do this could introduce subtle out-of-phase imagery problems.