Cleans up use of NSOperation. Reliably calls completion handler now.