A micro javascript library for managing an undo/redo history