Move creation logic to factory methods in PredicateAndHandler