class CompositeAspectDefinition implements LinkkiAspectDefinition {

    @Override
    public Handler createUiUpdater(PropertyDispatcher propertyDispatcher, ComponentWrapper componentWrapper) {
        return aspectDefinitions.stream()
                .filter(d -> d.supports(componentWrapper.getType()))
                .map(lad -> lad.createUiUpdater(propertyDispatcher, componentWrapper))
                .reduce(Handler.NOP_HANDLER, Handler::andThen);
    }

    public  CompositeAspectDefinition(@NonNull LinkkiAspectDefinition... aspectDefinitions);
    public  CompositeAspectDefinition(List<LinkkiAspectDefinition> aspectDefinitions);

}