It can add new responses and variables dynamically. Since the responses are all stings/arrays, I have a set of functions that can add and manipulate the responses as needed. In the current version manipulation only lasts during the web session.
In the future weighting may change based on topic, tone of the conversation, and emotional state of the user and the bot.