dont break if global.properties is missing
add text replacer instead of hardcoded replacements
added support for nested values, added implicit title macro
Added debug data.
Added JavaScript executor.