Is it not possible to implement the function undo refine (refine includes other refine type of actions such as unchanged and changed)? Is it too hard or just not possible? If not, can you implement it like saving the previous search addresses automatically and temporarily for a certain period or actions? And the undo will add the removed addresses instead of reversing actions. This should work as an alternative undo function. Or you could also implement searched addresses history, pack it in a folder for each searches with the time and action made to search for the addresses, and save it in storage cache (or RAM, but not preferred). And when someone wants to undo, they'll just load the searched addresses history.