I've tried the above, but been unable to .Get userdata when an item is selected and populated into .Contents. I am assuming that PopList was never meant to work this way. In the context that I am trying to make use of this gadget it does kind of render it useless - I do need to be able to do different things depending on what is selected from the list.
Poplist derives from Listview class which doesn't support userdata for the individual items either. The only class which actually supports this is Listtree class. All other List classes don't support this because the individual items aren't addressed through an id but through a numeric index (0, 1, 2...).