[Issue #91] add JSOperationWrapper to make it easier
to add functions to operations in the future.