Hmm, actually I don't think that is correct. Adding keyboard and/or mouse gives the following message, since they use pf_singleglobal.
<img src="http://dl.dropbox.com/u/12667027/Construct%202/BranchPlugin/KeyboardAddedMessage.png" border="0" />
Additionally, if you look through the xml of a project, adding something Function or Branch or SpriteBank plugin all will add to the currently active layout. (I actually had a problem related to this with SpriteBank, I had created a SpriteBank which was located in LayoutB, in LayoutA, tried to serialize layoutA's sprites, then go to LayoutB, and finally return to layoutA and try to deserialize with the SpriteBank, nothing happened as though the SpriteBank instance did not exist, turning on SpriteBank.Global = YES fixed this issue, and prevents SpriteBank from being destroyed).
For example, my Town_Layout has the following xml:
<nonworld-instances>
<instance type="B1" /> // instance of Branch plugin
<instance type="SpriteBank" /> // instance of SpriteBank
</nonworld-instances>
I'm just wondering if there are various unexpected behavior that may occur as a result of something like this. (As I mentioned before, I already encountered an issue with SpriteBank and multiple layouts). I imagine it could kind of be a little tricky for a new user to these plugins, since Branch/SpriteBank/Function aren't actually *placed* on the layout, most users would assume that the plugin would be commonly available to all layouts in their project.
I probably encounter more of these issues since I make such heavy use of these plugins. :)