Sample codes of Custom Event:
```cpp
    _listener = EventListenerCustom::create("game_custom_event1", [=](EventCustom* event){
        log("Custom event 1 received, ");
    });
    
    _eventDispatcher->addEventListenerWithFixedPriority(_listener, 1);
    
    auto sendItem = MenuItemFont::create("Send Custom Event 1", [=](Object* sender){
        EventCustom event("game_custom_event1");
        event.setUserData(xxx);
        _eventDispatcher->dispatchEvent(&event);
    });
```

> Are you trying to create event types Custom1, Custom2, etc? Is it necessary to separate event types Custom1, Custom2, etc in std::unordered_map?

Yep, in the current implementation, it uses different type for custom listener in std::unordered_map.
If we use the same type `Event::Type::CUSTOM`, then any kind of custom events will be sent to callback.
For instance,
I created a `game_custom_event1`, `game_custom_event2`... like above.
Then the callback of `game_custom_event1` will also response the `game_custom_event2` since we only have one type for Custom event.