_buildActionMatchers(actionName, listOfActionDefinitions) {
    const handlerPositions = this._positionsOfComponentsWithHandlersFor(actionName);

    if (!handlerPositions) {
      return false;
    }

    this._registerActionWithMatcher(
      handlerPositions, actionName, listOfActionDefinitions
    );

    handlerPositions.forEach((componentPosition) => {
      const handlerStatus = this._getUnmatchedHandlerStatus(componentPosition);
      const matchedActionsDictionary = handlerStatus[1];

      if (!matchedActionsDictionary[actionName]) {
        matchedActionsDictionary[actionName] = true;

        /**
         * Decrement the number of remaining unmatched handlers for the
         * component currently handling the propagating key event, so we know
         * when all handlers have been matched to sequences and we can move on
         * to matching them against the current key event
         */
        handlerStatus[0]--;
      }
    });

    return true;
  }
Iterate over the actions of a component (starting with the current component
and working through its ancestors), matching them to the current component's
handlers