Simple and robust CoffeeScript/JavaScript library for undo/redo features on plain state object. Full test coverage and it is using on production as well.