rewrote predicated barrier to use a clock service to properly track time.