Functional, stateless JavaScript finite state machines and statecharts | Hacker News Reader