@Override
  public void onEvent(Event e) {
    notifyObservers(e);
  }
@Test
  void testPassThrough() {
    final var observer = mock(EventObserver.class);
    final var kingsHand = new KingsHand();
    kingsHand.registerObserver(observer, Event.STARK_SIGHTED);
    kingsHand.registerObserver(observer, Event.WARSHIPS_APPROACHING);
    kingsHand.registerObserver(observer, Event.TRAITOR_DETECTED);
    kingsHand.registerObserver(observer, Event.WHITE_WALKERS_SIGHTED);

    // The kings hand should not pass any events before he received one
    verifyNoMoreInteractions(observer);

    // Verify if each event is passed on to the observer, nothing less, nothing more.
    Arrays.stream(Event.values()).forEach(event -> {
      kingsHand.onEvent(event);
      verify(observer, times(1)).onEvent(eq(event));
      verifyNoMoreInteractions(observer);
    });

  }