How to create socket that pass lists of POPO (Plain Old Python Objects)?
The solution is pretty obvious, but here it is in case someone else has a similar problem. The problem was not with the socket but in the node, and the problem was that the node's execute() method must  return a collection of N items where N is the number of output sockets.