It may be possible to not have real function objects in certain circumstances:
When the function object is only used to call the function; and
No reference is taken of the function object (so no global functions); and
The number of arguments passed to the function is always less or equal to the number of arguments on the function.
In this case, don't create a function object; change the signature of the function to make it have real arguments and change calls from JsObject.Execute to a real call.
It may be possible to not have real function objects in certain circumstances:
In this case, don't create a function object; change the signature of the function to make it have real arguments and change calls from JsObject.Execute to a real call.