It would also need to be able to display the player's inventory, otherwise transferring items would take ages. Maybe it could be generalized to display any inventory?
Bonus points for:
- An event when players add/remove items to/from specifically script-owned inventories via these GUI elements (not sure if this is any more feasible than other "item transferred" events though). Might be possible with just the on_gui_clicked event.
- A way to mark an inventory GUI element as the target for quick item transfer (shift click).