Issue #8: Added support for variable substitution.