An in-depth look at Grand Central Dispatch (GCD) in Swift