Create an abstraction for remote function invocation