Updated to use collision callbacks with point vector