major improvements to JsFunction package...checking in prior to moving it to a different package name and different github repo for easier reuse