Just for my own record because I always forget:
If you ever need to pass any object data to a custom control, use this as the property data type:
com.ibm.jscript.std.ObjectObject
or
com.ibm.jscript.std.ArrayObject
depending on if you just need one or more objects.
This is handy if you use your custom control in a repeat where the looping element is a complex object. Surprisingly this is not a selectable option in the property editor, so you have to type this manually as the data type.