Reuse code with protocols in Swift | Dark Hacker News