Generate bot utterances based on a dialogue state.
Generate a response for the requested template.
There are a lot of different methods to implement this, e.g. the generation can be based on templates or be fully ML based by feeding the dialogue state into a machine learning NLG model.
Factory to create a generator.