ChronosJS is a simple, generic, uncoupled undo/redo manager for web apps (not tied to URL or History Interface)