Given a user name, userid and an email address create a user. We can call this "createUser" transaction with three parameters name, id, and email.
Purrists will quickly point out that CreateUser can be more complex. Well Horizontal parts can still solve the problem pretty decently a good number of times. Let us attempt it.
How can we run CreateUser on a remote computer?
The magic of invoking the transaction is carried out by an implementation of IFactory. So the factory itself is bootstrapped using its own features allowing us to replace various implementations for it. We can go from a simple factory to filtered factory to IOCFactory to a DelegateEnabledFactory. Assuming we are using the last this is what it does. It checks to see if there are any delegates that can handle the "CreateUser", if there is it hands over the request to them. In this case there is a delegate called "RemoteDelegate" that is configured to handle "CreateUser". That is how "CreateUser" is transferred to a remote machine. If we don't want this, just delete the "createuser" from that delegate's list.