I'm working on a Firefox extension where I'll want to keep multiple windows in sync with the same information. The toolbar queries a remote server for info periodically, based on when the window was opened. Because Firefox windows are all separately self-contained environments, each with their own toolbar running separate code I thought I'd use a singleton here. There's really no need for multiple requests, there can be one request for each of the windows, the problem though is that there is no global master scope over-lording it over the multiple windows context, there are only windows contexts. I thought I'd create a factory class that checks to see if one of the windows already has an instance of my notification class running and if so uses that same instance to get updates.
It seems like a legitimate use of a singleton, but I keep reading about how they're evil beasts. Is this an ok use?