Career ATC is buggy and will get 'stuck'

This still happens in SU7.2 (1.9.24)

I think I have identified one cause (which is not the only cause) but if two actions are available at the same time (actions that QUICK REPLY would trigger) this can get radio communications with ATC into a bad state where it will not progress properly after that (sometimes a Skip To … can reset things).

Here is one example series of events (details found using an event logger I wrote that records all the JS_LISTENER_* event details during career mission). Based on this analysis it seems that all of these triggers need to be protected so that only one can be triggered at at time and DisableMissionQuickAction isn’t stuck on.

20:53:14Z ATC POZNAN: Boeing PTA 613, Descend and maintain 4,000 ft. Contact Poznan Tower on 119.98.
20:53:23Z MENU Poznan Approach 123.040: ['1 - Acknowledge Approach Clearance', '2 - Say Again']
20:53:23Z STEP Press [Enter] to accept instructions via radio
20:53:24Z STEP Press [Enter] to contact tower via radio
20:53:25Z MENU Poznan Tower 119.980: ['1 - [ Tune Poznan Tower on 119.980 ]']
20:53:25Z ATC Calculator CLEAREDAPPROACHVECTORSTOFINALValidation = 1, ATCTower = 1,
DisableMissionQuickAction = 1 (also on every calculator that references it)
20:53:26Z ATC You: Descend and maintain 4,000 ft. Tower on 119.98 Boeing PTA 613
20:55:00Z MENU Poznan Tower 119.980: ['1 - Contact Poznan Tower']
20:55:01Z ATC You: Poznan Tower, Boeing PTA 613, 18 miles southeast, inbound ILS Z runway 28 approach.
20:55:02Z ATC Calculator ATCTower = 0 (CLEAREDAPPROACHVECTORSTOFINALValidation still 1,
so DisableMissionQuickAction still 1)
20:55:11Z ATC POZNAN: Boeing PTA 613, Poznan Tower. QNH 1016, Cleared ILS Z runway 28 approach.
21:00:36Z ATC POZNAN: Boeing PTA 613, Wind 254 at 9, cleared to land runway 28.
21:00:45Z OBJ COMPLETED: Landing
21:03:45Z ATC POZNAN: Boeing PTA 613, exit runway when able.
21:04:18Z ATC POZNAN: Boeing PTA 613, contact ground on 124.14.
21:04:59Z OBJ COMPLETED: Taxi
21:05:10Z ATC POZNAN: Boeing PTA 613, taxi to general aviation parking via taxiway A B.
21:05:19Z ATC You: Taxiing to general aviation parking via taxiway A B, Boeing PTA 613.
21:05:20Z Landing announce calculator activated; its DisableMissionQuickAction = 1, IsMessagePlaying = 1
21:05:32Z Landing announce calculator IsMessagePlaying = 0 (DisableMissionQuickAction still 1)
(no landing announcement step, no ATCLandingInfo, no LandingAnnounceOnGoing, no LandingAnnounce)