class WebComponentBinding implements Serializable {

    public void updateProperty(String propertyName, Serializable value) {
        Objects.requireNonNull(propertyName,
                "Parameter 'propertyName' must not be null!");

        PropertyBinding<?> propertyBinding = properties.get(propertyName);

        if (propertyBinding == null) {
            throw new IllegalArgumentException(
                    String.format("No %s found for propertyName '%s'!",
                            PropertyData.class.getSimpleName(), propertyName));
        }

        propertyBinding.updateValue(value);
    }

    public  WebComponentBinding(C component);

}