Input {
String query;
// Properties should handle the conversation context like: subject, who asked, was polite, language, last messages, etc.
Map<String, Object> properties;
}
[ ] BaseLanguageBox should keep the original message. (With question mark)
[ ] It has also to handle context somehow (changing matchers depending on the step of conversation).
[ ] Return maybe should be more than a simple String (original message, polite /scream / circumstance, answer, confidence)
Input should be a complex object (using hashmap)