final public function remove_hook($tag, $function_to_remove, $priority = 10)
    {
        if (\is_string($function_to_remove) && \is_callable([$this, $function_to_remove])) {
            $function_to_remove = [$this, $function_to_remove];
        }

        if (\is_array($tag)) {
            foreach ($tag as $hook) {
                remove_filter($hook, $function_to_remove, $priority);
            }
        } else {
            remove_filter($tag, $function_to_remove, $priority);
        }
    }