Crank.js, a JavaScript framework that uses generators for state | Hacker News Reader