Making Gate use PredicateBehavior