Reposted with permission from Jan Odvarko (AKA Honza): I have been recently asked by couple of developers how to properly design architecture of a Firefox extension. The first thing that immediately came to my mind at that point was a problem with global variables defined by extensions in ChromeWindow scope. This problem can easily cause collisions among various extensions. Something that should b

