Hi! You can just think of a function call as a some sort of data. For example, any function call is some action with some arguments. You can create some sort of alphabet for functions (to code and decode their actions), which is known by client and server and after that just transfer function alphabet letter and arguments of call. By the way some function stacks and client server protocols are working in similar manner.