final public function add_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1)
    {
        $callback = $function_to_add;

        if (\is_string($function_to_add) && \is_callable([$this, $function_to_add])) {
            // Bind the callback to the current child class.
            $callback = [$this, $function_to_add];
        }

        if (!\is_array($tag)) {
            $tag = [$tag];
        }

        // Add the callback to all provided hooks.
        foreach ($tag as $hook) {
            \add_filter(
                $hook,
                $callback,
                $priority ? $priority : 10,
                $this->get_argument_count($function_to_add, $accepted_args)
            );
        }
    }