I would set up two action menus, one for global actions, one for actions on selected items. One reason is for encapsulation. When there are items selected, the individual buttons must be set sensitive if the common architecture is used. That means that some routine must know which buttons are which. If the buttons are grouped under global actions or item actions, only the ID of the item actions menu must be known to that callback, not each individual button.
Information hiding is a good thing.
You can of course accomplish the same encapsulation by having one function call that sets the buttons sensitive and another that sets the same group insensitive, but I find the separate menus approach cleaner. More important from a user perspective, having all the buttons on one menu introduces a possibility for error. I made one of these errors while using the interface. Since it was already late at night, the time these sorts of mishaps are most likely to happen, I was not a happy camper. Conclusion I like the new interface for updates.