public void Restore(ISnaphotable eventSourced)
        {
            object snapshot;

            this.memory.TryGetValue(eventSourced.Id, out snapshot);
            eventSourced.Restore(snapshot);
        }
 public void Snapshot(ISnaphotable eventSourced)
 {
     this.memory[eventSourced.Id] = eventSourced.Snapshot();
 }
        public void Delete(ISnaphotable snaphotable)
        {
            object snapshot;

            this.memory.TryRemove(snaphotable.Id, out snapshot);
        }