### Summary

 When we updated `Display` to proxy over the queue for dispatch by the main process in https://github.com/ansible/ansible/pull/77056, we ended up losing some context, since we only proxy the `Display.display` method, and not all methods individually.

We need to add some functionality to `Display` to preserve this context, whether that means shipping additional information across the queue, or proxying all methods instead of just `Display.display`.

This has impacts on ansible-runner, and input should be taken to evaluate the best option.

### Issue Type

Feature Idea

### Component Name

lib/ansible/utils/display.py

### Additional Information

TBD

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
templar = Templar(None)
        
        for handler in (h for b in reversed(iterator._play.handlers) for h in b.block if h.name):
            if not handler.cached_name:
                if templar.is_template(handler.name):
                    templar.available_variables = self._variable_manager.get_vars(
                        play=iterator._play,
                        task=handler,
                        _hosts=self._hosts_cache,
                        _hosts_all=self._hosts_cache_all
                    )
                    try:
                        handler.name = templar.template(handler.name)
                    except (UndefinedError, AnsibleUndefinedVariable) as e:
                        
                        
                        
                        
                        if not handler.listen: