public void setVariable(String name, Object value) {
        log("[E]Variable defined <" + name + "> with value <" + value + ">");
        if(variables.containsKey(name))
            throw new RuntimeException("Variable <" + name + "> already defined in current context");
        variables.put(name, value);
    }