Add non working listener for undo, redo

Figured out a way to save and apply changes to the board
have to create a way to store them nicely within memory constraints
rough undo redo function implemented

todo:
    memory constraints
    UX