sclass AssistantRequest { Map map; // full map of parameters S token, language; S input, event; // one of these will be not empty O module; void say(S s) { if (emptyAfterTrim(s)) ret; print("Sending to " + shortenedToken() + ": " + s); dm_call(module, 'sendToUser, token, s); } S shortenedToken() { ret takeFirst(token, 8) + "..."; } }