What about something like this for configuring handlers on a policy?

```Java
public static final ConfigKey<Predicate> HANDLE_ENTITY_CHANGED =
        ConfigKeys.newConfigKey(Predicate.class, 
                "tracking.member.changed", "Handler for entity changed", Predicates.alwaysTrue()); 

// ...

PolicySpec<AbstractMembershipTrackingPolicy> spec =
        PolicySpec.create(AbstractMembershipTrackingPolicy.class)
                .configure(HANDLE_ENTITY_CHANGED, new Predicate<Entity>() {
                        @Override
                        public boolean apply(final Entity input) {
                            setAttribute(WHATEVER, "something");
                            return true;;
                        }
                    });

// ...

protected void onEntityChange(Entity member) {
    if (!getConfig(HANDLE_ENTITY_CHANGED).apply(member)) {
        throw new IllegalStateException("Failed to handle entity change on " + member);
    }
}
```