Update for ARC and blocks. iOS 5+ required.