I still have some random elements to add and I might want to mess with some real time elements so I'm not thinking about a full undo. I want to avoid the brute forcing of solutions that you mentioned too.