code: private void invokeMethods(Event event) {
          try {
              List<MethodWrapper> methodWrappers = eventToMethodsMap.get(event.getType().name().toUpperCase());
              if (methodWrappers == null) return;
  
              methodWrappers = new ArrayList<>(methodWrappers);
              MethodWrapper matchedMethod =
                      getMethodWithMatchingPatternAndFilterUnmatchedMethods(getPatternFromEventType(event), methodWrappers);
              if (matchedMethod != null) {
                  methodWrappers = new ArrayList<>();
                  methodWrappers.add(matchedMethod);
              }
  
              for (MethodWrapper methodWrapper : methodWrappers) {
                  Method method = methodWrapper.getMethod();
                  if (Arrays.asList(method.getParameterTypes()).contains(Matcher.class)) {
                      method.invoke(this, event, methodWrapper.getMatcher());
                  } else {
                      method.invoke(this, event);
                  }
              }
          } catch (Exception e) {
              logger.error("Error invoking controller: ", e);
          }
      }
docs: Invoke the methods with matching {@link Controller#events()}
  and {@link Controller#pattern()} in events received from Slack/Facebook.
  
  @param event received from facebook