class AbstractFormItem implements FormItem<T> {

    @Override
    public String getId(State state) {
        Appearance<T> appearance = appearance(state);
        return appearance != null ? appearance.getId() : null;
    }

      AbstractFormItem(String name, String label, String hint);

}