1. A computer-implemented method comprising: providing, by a processing device running on a server, one or more marshalling plug-ins to a rule engine, each of the one or more plug-ins customized for a type of user objects; and in response to encountering a user object, the rule engine, running on the server, selecting a marshalling plug-in out of the one or more marshalling plug-ins based on a type of the user object to perform at least one of marshalling in and marshalling out the user object.