docs: @Override
      public void addListener(@Nonnull final LifecycleStage lifecycleStage, @Nonnull final LifecycleListener lifecycleListener)
      {
          if (!listeners.containsKey(lifecycleStage)) {
              throw illegalStage(lifecycleStage);
          }
          listeners.get(lifecycleStage).add(lifecycleListener);
      }