ExternalSystemTaskNotificationListener (@NotNull ProgressIndicator indicator) { final ExternalSystemTaskProgressIndicatorUpdater updater = ExternalSystemTaskProgressIndicatorUpdater.getInstanceOrDefault(myExternalSystemId); return new ExternalSystemTaskNotificationListenerAdapter() { @Override public void onStatusChange(@NotNull ExternalSystemTaskNotificationEvent event) { updater.updateIndicator(event, indicator, text -> wrapProgressText(text)); } @Override public void onEnd(@NotNull ExternalSystemTaskId id) { updater.onTaskEnd(id); } }; }