String substitution now works for Fungus variables, localisation keys, Lua global variables and string variable keys. The system can be easily extended by implementing the ISubstitutionHandler interface.