TA: I think the lines:
InsertVariableCommand.prototype.Execute=function(){ }
should actually be:
InsertVariableCommand.Execute=function(){ }
so as not to mix methods of creating a new command. Some places create prototypes and register an instance, but this example is acting on an actual function object and registering the command with that object. So the use of "prototype" here is inconsistent.