Python and pyglet makes for wicked fast progress!
Instead of getting carried away and trying to write a widget library from the bottom up, I'm just going to repurpose what I have and refactor later on.
Basically I took the Bubble code, copied, pasted and modified it to work in the vertical direction, resulting in a widget.List class.
I took the easy way out and repurposed the scene reader to read in catalog pages from a spreadsheet. Each sheet is a page in the catalog. Each row describes a catalog page item. Name, image, creation code, etc.
Now I need to generate thumbnail images for each item because the actual sprites are too big. Joy.
I also need to implement scrolling at some point.
Getting closer though!