Your point about Watchtower seems to be incorrect. If I am remembering the card correctly, it triggers on a card being gained. You only gain the curse once per Witch (or whatever attack have you) being played. Thus, you get to put the card in the trash or on top of your deck, but you are no longer gaining it. It has been placed somewhere else and you are no longer gaining it.
So it seems to me that ordinarily reactions take zero game time (as it were), right? That is, someone plays a Pirate Ship, and you reveal a Secret Chamber and spend five minutes fiddling with the top cards of your deck, and once you're done, it's
still "when another player plays an Attack" and you can reveal the Secret Chamber again and start over, right? Why wouldn't this apply to Watchtower equally? You gain a card, you reveal the Watchtower and move the gained card somewhere; but once you're finished doing that, no time has passed and it's
still "when you gain a card".