Better Design for Point Cloud?

As some reported inconveniences from github, I find the current design of point data storage in gvdb is a bit immobile. First the mAux presumes there is a position, velocity, and color attributes to all the points, using an SoA design instead of AoS. Its hard to add new attribute to this data structure while still being able to use API such as RebuildTopology.
Second mAux are protected member of VolumeGVDB, meaning there is no way to run custom kernel outside GVDB on point data.

I suggest all API that related to point cloud would take several DataPtr of point cloud attribute as argument. Such that VolumeGVDB itself becomes a pure voxel data container.