Designing reusable Swift libraries | Swift by Sundell