private void UpdateSnapshot(string matchId)
        {
            // 1. get the match by replaying events
            // 2. extract the status data to denormalize
            var allEvents     = EventStore.All(matchId);
            var replayedMatch = Replay(allEvents);

            if (replayedMatch == null)
            {
                return;
            }

            // Adapt from domain model to persistence model and save
            var persistableMatch = CopyFrom(replayedMatch);

            _matchRepository.Save(persistableMatch);
        }