Idea: An inspector showing all selections (chronological sorted) that are made in the current application session so far (no need to persist it to next application start). The showed nodes are filtered by the current preconditions. So it basically shows all selections (since the application was started) that fullfill the preconditions).
Implementation idea (so far):
The history is can be modified (adding new nodes) and queried (requesting a copy of the current history) by static member functions of the inspector. It is put in static functions that also other programm parts can query (e.g. other versions of history inspectors) or modify the selection history.
Internally it is a guarded static deque that stores the node weak pointers and the time of selection (equals time of adding to history). If a history is requested the pairs of selection time and nodes wills be transfered and passed const as a result.