Now that I think of it this could be backed by just one array, each "entry" using 3 slots in the array.