Git-like hashes and history for Ruby objects