https://www.technotification.com/2018/08/protocol-oriented-programming-swift.html
https://www.toptal.com/swift/introduction-protocol-oriented-programming-swift
https://www.appcoda.com/pop-vs-oop/
https://www.infoq.com/news/2015/06/protocol-oriented-swift
https://www.appcoda.com/pop-vs-oop/
https://www.appcoda.com/protocol-oriented-programming/
https://www.infoq.com/news/2015/06/protocol-oriented-swift