`actions(Char hero)` - Returns actions including AC_OPEN
`_execute(Char chr, String action)` - Handles AC_OPEN to show bag UI
`collect(Bag container)` - Collects items from another bag
`onDetach()` - Returns items to owner's inventory when detached
`isUpgradable()` - Returns false (bags cannot be upgraded)
`isIdentified()` - Returns true (bags are always identified)
`storeInBundle(Bundle bundle)` / `restoreFromBundle(Bundle bundle)` - Serialization
`contains(Item item)` - Checks if bag contains item (recursive)
`grab(Item item)` - Checks if item can go in this bag type
`getSize()` - Returns capacity based on owner
`getEntityKind()` - Returns class simple name for item type matching
`setOwner(Char owner)` - Sets owner for bag and all contained items