Rearranged how we use snapshots to identify divergence.  Snapshotting now occurs only in our processEvent function, which processes any tracked funciton that takes place on any page.  This is where we snapshot both during record and during replay.  After an event is fired, we have access to the current snapshot (the snapshot that immediately followed the event currently being processed) and the previous snapshot (from after the last event).  We use these to calculate DOM divergence and associate these divergences with the eventMessage created for the current event.  The divergence associated with each event is thus the effects of that event on the DOM.  Synthesis has been moved from before the event is dispatched to after.