1) log metrics. 2) abstract polling interval/timeout into config file. 3) return partial flight data if exceed timeout limit