Handle errors via NSError parameters instead of immediate NSLogs