Define output for a function

Hi All,

Just wondering if anyone has experience in defining additional outputs in a function.

For example I created a simple polygon array and used a polygon by function to perform an offset to those initial Polygons. During the function I created an array of points at the centroid of each polygon that I used as the point input in the offset. The result is a polygon. I would however like to also have an output from the node the array of points that were created along the way so they could be reused for anther operation.

Hopefully that makes sense. Below is the function I have, the return as you can see is the Polygon arrary MyPolyArray, I would also like to output the point array MyPointArray.

function (Polygon InputPoly, double ODistance)
Polygon MyPolyArray = {};
Point MyPointArray ={};
for (int i = 0; i < InputPoly.Count; ++i)
    Polygon MypolyList = {};
    Point MyPointList = {};
    for (int j = 0; j < InputPoly[i].Count; ++j)
    Polygon MyPoly = {};
    Point MyPoint = {};
    MyPoint = new Point().CentroidOfSet(InputPoly[i][j].Vertices);
    MyPoly = new Polygon().Offset(InputPoly[i][j], OffsetMethod.ByDistance,MyPoint, ODistance);

return MyPolyArray;

Below is the simple dgn file