Refactored future wait