Dispatcher.utter_message before function is fully done running

Hi everybody!

Is there a way to make the assistant reply the user before the function is fully done running? lets say we a function like the one below:

def run(self, dispatcher: CollectingDispatcher,
        tracker: Tracker,
        domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

    """TODO"""

    dispatcher.utter_message(text="First Message")
    
    # do something here e.g: time.sleep(5)

    dispatcher.utter_message(text="Second Message!")

The current scenario will process the whole function and send both First and Second messages at once.

Is there a way to reverse it ?

TIA