Sometimes you really do legitimately have a lot of static, global state.  For instance, consider a program that needs to reference local, national, and&#x2F;or global geography and its metadata, on a wide scale, randomly.  All the countries have subdivisions, and subdivisions of subdivisions, and so on all the way down, which are all inter-referential.  You can easily hit 100 MB of state that is essentially constant, and needs to be indexed 50 different ways for millions of function calls per user action that would access it.<p>Why not manage access to such things in a singleton class?