BlueprintImplementableEvent and FRunnable

Currently I’m trying to implement a socket in a separate FRunnable, that would ideally fire an event in my blueprint.

My question is similar to this one Fire Blueprint event from FRunnable thread - Blueprint - Epic Developer Community Forums but I’m not satisfied by the answer given right here. In fact, suggestion made in this thread is to use polling on the engine tick. I’m sure it exists a signal mechanism in Unreal allowing to fire event asychronously, by implementing a special interface or such in my Blueprint object.

Ideally, I would have something like this:

class UmyObject {
    UFUNCTION(BlueprintImplementableEvent, Category = "Animation")
    void ServerIsConnected();

class UClientListener : public UObject, public FRunnable {
    virtual uint32 Run();  //<-- this is sub-thread main loop, and I want to call ServerIsConnected() in a safe way from here. This would able to not block the main Engine thread by waiting a connection to be established.