Another advantage of doing events globally, I've found, is that it encourages you to create a sensible response if the player is trying to do something in the wrong place. For example, if you're trying to open a window and you're not in the windowed room then you'll get 'you can't do that' if you've added the window opening event locally, but you can add something like 'but there's no window here!' at the end of your window-opening conditions if you do it globally. Makes the game seem a bit more thought through than getting the same default response everytime you try the wrong thing in the game.