I was experimenting around with your suggestions. Here are my findings:

Option 1: If we set `@postal_codes` in the constructor, then we'll have to refactor the class such that the other methods (except maybe `territories`) are called through an object of the class. 
``` javascript 
var postalCodes = new TwitterCldr.PostalCodes();
postalCodes.regex_for_territory ("us");
```
This will make this class consistent with most other classes in the project, `DateTimeFormatter`, `DecimalFormatter` etc. Only some classes, `Currencies`, `Calendar`, and `PhoneCodes` (which I'd modelled on `Currencies`), etc have all static methods. 

Option 2: This will keep the class consistent with the other classes of the `shared` group of classes (`Currencies`, `Calendar` etc) wherein the classes have all static methods.

Option 3: I'm a little confused. Isn't this how the code is now?


Personally, I would prefer option 2 to keep this class consistent with the other classes in the `shared` group. I don't know how important this factor is though. Which do you prefer?