Async
Syntactic sugar in Swift for asynchronous dispatches
...Each chaining block is called when the previous queue has finished. The dispatch_block_t can't be extended. Workaround used, Wrap dispatch_block_t in a struct that takes the block as a property. AsyncGroup facilitates working with groups of asynchronous blocks.