Improved lap metrics

I was playing around with the 'Activity Start Time' option last night. The video was of a cyclo cross race which is a fairly tight circuit. I set the start time to when i rolled over the start line however when I came near the same point, but heading in the opposite direction, it created a new lap. This is the same behaviour as the Edge 510 bike computer. It's also noticeable that the first half a lap is out as the GPS gets a better fix, so the 'start point' has actually moved after the first lap, but using heading as a lap discriminator would fix that issue.

I'm wondering if it might be possible to have a tolerance to the heading, not just the location so that it won't create a new lap when heading in the opposite direction. Perhaps even user settable tolerances would be possible? (eg set a max radius and heading tolerance)

The feature is incredibly useful, but without some smarts it created 16 laps from an 8 lap race. For reference, here's the video to show the race with the circuit diagram:
www.youtube.com/watch

Thanks,
Brett