Returns the collected variable map, building it lazily on first call.
Map<String, String> getVariables() { return _variables ??= collectVariables(scripts); }