Correct has_timed_out behavior (+tests)