Internally, we use two global containers per project. One containing any activities, the interaction manager, and any case components. The other containing everything else. There really is no reason not to have more or less. It is all about organization (this is why we name them starting with an underscore so they appear at the top of the Object Explorer window). If you have a collection of items that are related, you can put them in their own global container. I will tell you that longer script components do seem to work better in a separate global container (I have seen longer scripts get corrupted if they are in a GC with many other items). This is purely anecdotal though and not scientific. I would caution you on having too many, as there is a performance hit (however slight it is) to loading a new project item. In most projects however, the number of project items is not significant enough to warrant much thought around it.