System.IO.FileのCopy,Move,Deleteを行った場合のctrl+zのようなやり直しはどう実装したらよいのでしょうか?