I think you can merge this and `has_enough_data` into just one `wait_`