docs: @Override protected void handleEvents(final String EVENT_TYPE) {
          super.handleEvents(EVENT_TYPE);
  
          if ("VISIBILITY".equals(EVENT_TYPE)) {
              Helper.enableNode(titleText, !tile.getTitle().isEmpty());
              Helper.enableNode(valueText, tile.isValueVisible());
              Helper.enableNode(timeSpanText, !tile.isTextVisible());
              redraw();
          } else if ("VALUE".equals(EVENT_TYPE)) {
              if(tile.isAnimated()) { tile.setAnimated(false); }
              if (!tile.isAveragingEnabled()) { tile.setAveragingEnabled(true); }
              double value = clamp(minValue, maxValue, tile.getValue());
              addData(value);
              handleCurrentValue(value);
          } else if ("AVERAGING".equals(EVENT_TYPE)) {
              noOfDatapoints = tile.getAveragingPeriod();
              // To get smooth lines in the chart we need at least 4 values
              if (noOfDatapoints < 4) throw new IllegalArgumentException("Please increase the averaging period to a value larger than 3.");
              for (int i = 0; i < noOfDatapoints; i++) { dataList.add(minValue); }
              pathElements.clear();
              pathElements.add(0, new MoveTo());
              for (int i = 1 ; i < noOfDatapoints ; i++) { pathElements.add(i, new LineTo()); }
              sparkLine.getElements().setAll(pathElements);
              redraw();
          }
      }