A CommandSet is a combination of a Dictionary plus the ability to
invoke a command. Note that unlike a Dictionary, a CommandSet
is not serializable. To make commands accessible remotely you need to wrap the
CommandSet using an implementation of CommandServer.