The Predicate Module Pattern