##### SUMMARY
I'll start by saying that this is a bit of a weird one. It seems that when a handler task is included from another handler and notifies yet another handler, ansible generates spurious warnings and then hangs.

Just to confuse things even more, if you remove the variable reference in `name` OR the `notify` from `bar_handler_tasks.yml`, ansible executes normally.

Another thing to note is that this code (or something very much like it) apparently worked properly in Ansible 2.7.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
handlers

##### ANSIBLE VERSION
```
ansible 2.8.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/agaffney/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609]
```

##### CONFIGURATION
N/A

##### OS / ENVIRONMENT
N/A

##### STEPS TO REPRODUCE

`bar.yml`:

```yaml
- hosts: localhost
  gather_facts: no
  handlers:
    - name: play handler 1
      include_tasks: bar_handler_tasks.yml

    - name: play handler 2
      debug:
        msg: play handler 2

  tasks:
    - name: trigger handler 1
      debug:
        msg: trigger handler 1
      changed_when: true
      notify: play handler 1
```

`bar_handler_tasks.yml`:

```yaml
- name: included handler 1 {{ inventory_hostname }}
  debug:
    msg: included handler 1

- name: included handler 2
  debug:
    msg: whatever
  changed_when: true
  notify: play handler 2
```

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->


##### ACTUAL RESULTS
```
PLAY [localhost] **************************************************************************************************************************************************************************************************************************************************************

TASK [trigger handler 1] ******************************************************************************************************************************************************************************************************************************************************
changed: [localhost] => {
    "msg": "trigger handler 1"
}

RUNNING HANDLER [play handler 1] **********************************************************************************************************************************************************************************************************************************************
included: /tmp/ansible_test/kiwiirc/bar_handler_tasks.yml for localhost

RUNNING HANDLER [included handler 1 {{ inventory_hostname }}] *****************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "included handler 1"
}

RUNNING HANDLER [included handler 2] ******************************************************************************************************************************************************************************************************************************************
 [WARNING]: 'inventory_hostname' is undefined

RUNNING HANDLER [included handler 2] ******************************************************************************************************************************************************************************************************************************************
 [ERROR]: User interrupted execution
```

return [host for host in self._inventory.get_hosts(play.hosts)
                if host.name not in self._tqm._failed_hosts and host.name not in self._tqm._unreachable_hosts]
    def get_failed_hosts(self, play):
        return [host for host in self._inventory.get_hosts(play.hosts) if host.name in self._tqm._failed_hosts]
    def add_tqm_variables(self, vars, play):
        '''
        Base class method to add extra variables/information to the list of task
        vars sent through the executor engine regarding the task queue manager state.
        '''
        vars['ansible_current_hosts'] = [h.name for h in self.get_hosts_remaining(play)]
        vars['ansible_failed_hosts'] = [h.name for h in self.get_failed_hosts(play)]
    def _queue_task(self, host, task, task_vars, play_context):