Fix RemainingTime to check elapsed time.

Remaining time was previously recalculating the initial wait duration
over and over. It now finds the current time and recalculates remaining
duration.