One additional thought:
Items of one item group often require the same processing. Currently we have to place the same screenplay over and over for all items of the same group. A better way could be an additional “On Pickup”-event for each item group.
You also should consider an “On Touch”-event for the items, which will be also fired, when the pickup-functionality is deactivated. This is likewise interesting for the item groups. Maybe the events for the single pickups should fire before those of the item groups. That would enable us to set variables in the single item events and being able to react to them with the screenplay of the groups.