much like the function looks for private variables $owner and $name, the callParent function should look for a $parent property to determine the originating function

Because function.call is native browser code, it is impossible to do any kind of function wrapping that might try to call the callParent function from with in it.

For example, from an event listener or if one tried to override a class method with a wrapper function
Using the native function.caller property makes it