How the separation of concerns makes programming magic | Hacker News Reader