Added javadoc to describe classes.
Added VariableReplaceListener to prepare for static compilation.