Revisioned Python dict

Concept: An object that acts like a dict, but keeps track of revisions of itself (and any child dicts/lists).
Usecase: In this particular case, a dict holds information for a particular task. This dict is serialized and handed off to various processing scripts - potentially simultaneously. Each of these scripts may modify the dict or any of its children at any level. We need to ensure that we can diff the result of the script, against the original revision of the dict that the script received. This way, multiple scripts can simultaneously process the same task and return different results, without either of the scripts overriding the results of another.

Challenges

Methodology