Criteria you should use when decomposing a system into modules | Hacker News Reader