public static function invokeHook(string $hookId, array $arguments = array()): bool
    {
        $componentsUsingHook = self::getComponentsUsingHook($hookId);
        
        foreach ($componentsUsingHook as $addonComponent) {
            $addon = self::getComponentClassInstance($addonComponent->getIdentifier());
            if ($addon == null) {
                continue;
            }
            
            $function = $addonComponent->getHookWithId($hookId);
            
            if (($result = $addon->$function(...$arguments))) {
                return $result;
            }
        }
        
        return false;
    }