Added PredicateBuffer, all predicates now immutable.