Completion blocks can be executed on background thread