Redo the vector packets to allow arrays of different types

This is in prep for passing more data as part of the groups