There is a working prototype on our Github VBForumsCommunity. The number of undos is set to 1000. No assembly required, in pure VB.