Move PredicateBuilder instantiation to constructor

In order to maintain thread safety and prevent race condition from memoization.
Can you add an `attr_reader`, rather than using instance variables?