withNewScope(action) {
	        this.beginScope();
	        const val = action();
	        this.endScope();
	        return val;
	    }
Perform action under a new scope.

@param action The action function.
@returns The result value.

@note For action to return a valid value,
      we will need to call {@link moveToParentScope}
      for the objects that are created in the scope.