単純に状態遷移表なんかを作って、通過/拒否を調べるのじゃ駄目なのかな。イベントの発生するタイミングが重要なのではなくて、利用したくないとき(そういう状態)でイベントでデータを受け取ってしまうのが問題なのでしょう?