Eight Ways to Handle Non-Blocking Returns (PDF)