I would remove StreamPredicate entirely, I don't think it is adding much.