Recursive unwrapping
Switched storage model to list of pairs
Events list