If multiple user-initiated events are triggered across a short time span, or events responses arrive after the user already moved to a new view, exceptions occur, or possibly may result in inconsistent views of state.
An approach which we will try is to introduce request ids and asserting that received responses are for the current request id. This will be mocked up in a branch so named after this bug id ("bug/nnnnn").
I thought this effort held promise, but we were never able to get it fully working.
We still have the branch: http://git.fedorahosted.org/git/?p=rhq/rhq.git;a=shortlog;h=refs/heads/bug/731034
with the couple of relevant commits near the top.
If there is agreement this approach still makes sense, it would probably be worth moving the relevant commits to a more recent branch and seeing if we can get it working.