This fails when a package is loaded but not attached (i.e. when the package is loaded with imports) because do.call can not find the function name in the global environment.
It might be better to have a convention where it also looks for packageName::packageName