Use dispatch_ functions to avoid warnings
Autorelease to avoid leak
Must save the copied blocks to work
Merge remote-tracking branch 'origin/memory-cleanup'