protected void handleControlPropertyChanged(final String PROPERTY) {    
        if ("UPDATE".equals(PROPERTY)) {
            updateLcd();
        } else if ("RESIZE".equals(PROPERTY)) {
            resize();
            updateLcd();
        } else if ("PREF_SIZE".equals(PROPERTY)) {
            aspectRatio = getSkinnable().getPrefHeight() / getSkinnable().getPrefWidth();
        } else if ("BACKGROUND_VISIBLE".equals(PROPERTY)) {
            main.setOpacity(getSkinnable().isBackgroundVisible() ? 1 : 0);
            crystalOverlay.setOpacity(getSkinnable().isBackgroundVisible() ? 1 : 0);
        } else if ("CRYSTAL_OVERLAY_VISIBLE".equals(PROPERTY)) {
            crystalOverlay.setOpacity(getSkinnable().isCrystalOverlayVisible() ? 1 : 0);
            resize();
        } else if ("MAIN_INNER_SHADOW_VISIBLE".equals(PROPERTY)) {
            main.setEffect(getSkinnable().isMainInnerShadowVisible() ? mainInnerShadow1 : null);
        } else if ("FOREGROUND_SHADOW_VISIBLE".equals(PROPERTY)) {
            shadowGroup.setEffect(getSkinnable().isForegroundShadowVisible() ? FOREGROUND_SHADOW : null);
        } else if ("TREND".equals(PROPERTY)) {
            updateTrend();
        } else if ("THRESHOLD_EXCEEDED".equals(PROPERTY)) {
            if (getSkinnable().isThresholdVisible()) {
                threshold.setOpacity(getSkinnable().isThresholdBehaviorInverted() ? 0 : 1);
            }
        } else if ("THRESHOLD_UNDERRUN".equals(PROPERTY)) {
            if (getSkinnable().isThresholdVisible()) {
                threshold.setOpacity(getSkinnable().isThresholdBehaviorInverted() ? 1 : 0);
            }
        } else if ("FONT".equals(PROPERTY)) {
            updateFonts();
        } else if ("VALUE_VISIBLE".equals(PROPERTY)) {
            text.setOpacity(getSkinnable().isValueVisible() ? 1 : 0);
        } else if ("UNIT_VISIBLE".equals(PROPERTY)) {
            unitText.setOpacity(getSkinnable().isUnitVisible() ? 1 : 0);
        } else if ("FORMER_VALUE_VISIBLE".equals(PROPERTY)) {
            lowerCenterText.setOpacity(getSkinnable().isFormerValueVisible() ? 1 : 0);
        } else if ("MAX_MEASURED_VISIBLE".equals(PROPERTY)) {
            upperRightText.setOpacity(getSkinnable().isMaxMeasuredValueVisible() ? 1 : 0);
        } else if ("MIN_MEASURED_VISIBLE".equals(PROPERTY)) {
            upperLeftText.setOpacity(getSkinnable().isMinMeasuredValueVisible() ? 1 : 0);
        } else if ("NUMBER_SYSTEM_VISIBLE".equals(PROPERTY)) {
            updateLcd();
        } else if ("LOWER_RIGHT_VISIBLE".equals(PROPERTY)) {
            lowerRightText.setOpacity(getSkinnable().isLowerRightTextVisible() ? 1 : 0);
        } else if ("UPPER_LEFT_VISIBLE".equals(PROPERTY)) {
            upperLeftText.setOpacity(getSkinnable().isUpperLeftTextVisible() ? 1 : 0);
        } else if ("UPPER_RIGHT_VISIBLE".equals(PROPERTY)) {
            upperRightText.setOpacity(getSkinnable().isUpperRightTextVisible() ? 1 : 0);
        } else if ("BATTERY_VISIBLE".equals(PROPERTY)) {
            battery.setOpacity(getSkinnable().isBatteryVisible() ? 1 : 0);
        } else if ("SIGNAL_VISIBLE".equals(PROPERTY)) {
            signal.setOpacity(getSkinnable().isSignalVisible() ? 1 : 0);
        } else if ("ALARM_VISIBLE".equals(PROPERTY)) {
            alarm.setOpacity(getSkinnable().isAlarmVisible() ? 1 : 0);
        }
    }