Loose coupling using Swift protocols

Nice usage of a Swift protocol and default implementation to achieve loose coupling. The post looks at the iOS AppDelegate class, but this approach could be used with any type.