Reuse code with protocols in Swift | Hacker News Reader