Getting UVW Vertex Positions based on name, not selection.

Hello. I am trying to collect UVW vertex positions into an array based on a selection but without having to iterate and actually select each node (these are planes with a unique Edit Poly Mod but an instanced Unwrap UVW Mod). In the example below the UVW data comes in for one node but then is used for the remainder of the selection as opposed to the actual data for the other nodes. The only way I can seem to get this to work is to actually select the nodes in the scene during the loop. This slows the script down massively so I'm hoping there's another way to do this. Thanks!

function collectAttributes =
(
	attributeArray = #()
	for o in selection do
	(
		oName = o.name
		oBottomLeftUV = o.unwrap_uvw.getVertexPosition 0 1
		oBottomRightUV = o.unwrap_uvw.getVertexPosition 0 2
		oTopLeftUV = o.unwrap_uvw.getVertexPosition 0 3
		oTopRightUV = o.unwrap_uvw.getVertexPosition 0 4
		append attributeArray #(oName, oBottomLeftUV, oBottomRightUV, oTopLeftUV, oTopRightUV)
	)
)