https://github.com/ansible/ansible/blob/adcdee9bb0031577698246fcfc51f8af63a56a17/lib/ansible/playbook/task.py#L124

##### SUMMARY
Handlers can not be referenced with the `FQCN : handler name` notation if the handler name contains the role name.

Not sure what the reasoning is behind this, but a `httpd` role can't have a `restart httpd` handler name if you want to notify it with `notify: 'httpd : restart httpd'`

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
task handler fqcn

##### ANSIBLE VERSION
```
ansible 2.9.10
  config file = /home/twouters/.ansible.cfg
  configured module search path = ['/home/twouters/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.8/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.8.3 (default, May 17 2020, 18:15:42) [GCC 10.1.0]
```

##### CONFIGURATION
Default configuration

##### OS / ENVIRONMENT
All (N/A)

##### STEPS TO REPRODUCE
```
➜  issues-70582 $ find ./
./
./roles
./roles/test
./roles/test/handlers
./roles/test/handlers/main.yml
./roles/test/tasks
./roles/test/tasks/main.yml
./pb.yml
```

`pb.yml`
```yaml
---

- hosts: localhost
  roles:
    - test
```

`roles/test/tasks/main.yml`
```yaml
---

- name: always trigger handler
  command: /bin/true
  changed_when: True
  notify:
    - 'test : handler 1'

- name: always trigger handler 2
  command: /bin/true
  changed_when: True
  notify:
    - 'test : handler 2 test'
```

`roles/test/handlers/main.yml`
```yaml
---

- name: handler 1
  debug:
    msg: this is handler 1

- name: handler 2 test
  debug:
    msg: this handler is not found
```

##### EXPECTED RESULTS
Two handlers are detected.

##### ACTUAL RESULTS
Only the handler that doesn't contain the role name in its name gets detected

```
➜  issues-70582 $ ansible-playbook pb.yml           
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not
match 'all'

PLAY [localhost] ***********************************************************************************************

TASK [Gathering Facts] *****************************************************************************************
ok: [localhost]

TASK [test : always trigger handler] ***************************************************************************
changed: [localhost]

TASK [test : always trigger handler 2] *************************************************************************
ERROR! The requested handler 'test : handler 2 test' was not found in either the main handlers list nor in the listening handlers list
```
_loop_control = FieldAttribute(isa='class', class_type=LoopControl, inherit=False)
    _notify = FieldAttribute(isa='list')
    _poll = FieldAttribute(isa='int', default=C.DEFAULT_POLL_INTERVAL)
    _register = FieldAttribute(isa='string', static=True)
    _retries = FieldAttribute(isa='int', default=3)
    _until = FieldAttribute(isa='list', default=list)
    
    _loop_with = FieldAttribute(isa='string', private=True, inherit=False)
    def __init__(self, block=None, role=None, task_include=None):
        ''' constructors a task, without the Task.load classmethod, it will be pretty blank '''
        
        
        self._ansible_internal_redirect_list = []
        self._role = role
        self._parent = None
        self.implicit = False
        if task_include:
            self._parent = task_include
        else:
            self._parent = block
        super(Task, self).__init__()
    def get_path(self):
        ''' return the absolute path of the task with its line number '''
        path = ""
        if hasattr(self, '_ds') and hasattr(self._ds, '_data_source') and hasattr(self._ds, '_line_number'):
            path = "%s:%s" % (self._ds._data_source, self._ds._line_number)
        elif hasattr(self._parent._play, '_ds') and hasattr(self._parent._play._ds, '_data_source') and hasattr(self._parent._play._ds, '_line_number'):
            path = "%s:%s" % (self._parent._play._ds._data_source, self._parent._play._ds._line_number)
        return path
    def get_name(self, include_role_fqcn=True):