Referencing the original function to run is of questionable value and the only user uses it to grab the script environent from the upvalues. Instead, use a reference to the script environment table directly.
if scripting can't find an error handler it can call abort(). We don't ever want to do that in ArduPilot