Let's implement multiple checkpoints here as wel.  Part of the reason I want us to do this now is it will help us think through how we will track the ordering of the checkpoints.  Raw uuids are not ordered.  We need to figure out a good way of overlaying an ordering on the checkpoints that is preserved across server restarts (IOW we can't just use an in memory ordered list of uuids).