code: public static <S, T extends Event, U extends T> InputMapTemplate<S, U> consume(
              EventPattern<? super T, ? extends U> eventPattern,
              BiConsumer<? super S, ? super U> action) {
          return process(eventPattern, (s, u) -> {
              action.accept(s, u);
              return Result.CONSUME;
          });
      }
docs: If the given {@link EventPattern} matches the given event type, runs the given action, consumes the event,
  and does not attempt to match additional {@code InputMap}s (if they exist).