1. A program storage device, tangibly embodying a program of instructions executable by a server-side host to perform a method for processing a command from a client-side host, the method comprising: receiving the serialized command and parameter objects at the server-side host as the command from the client-side host, the serialized command and parameter objects obtained by invoking a client-side application programming interface (API) at the client-side host to pass in a set of parameter objects, and to provide a command object that contains the parameter objects, wherein each of the parameter objects represents a different parameter of a command, said different parameter representing a different function and each new parameter for the command is defined as a unique new class type, and serializing the command and parameter objects to provide serialized command and parameter objects; deserializing, by said server-side host, the serialized command and parameter objects to determine whether the server-side host is compatible with the different parameters of the command that are represented by the parameter objects, the server-side host determining that the server-side host is not compatible with one or more of the different parameters if the server-side host does not support a class type associated with said one or more of the different parameters, and reformulating, by said client-side host, the command to delete one or more parameters determined to be incompatible, wherein: if the server-side host cannot successfully deserialize at least one of the serialized parameter objects, the server-side host sends an error message to the client-side host to inform the client-side host that the server-side host does not support the parameter represented by the at least one serialized parameter object that cannot be successfully deserialized.