How do I get a component to wait for an RPC method to be called? Can I use a semaphore, or will that block RPC calls? Do I need a thread dedicated to handling RPC? If so, should I create a new Rpc_entrypoint and tell it to manage the Rpc_object?