1. A method of synchronizing data, the method comprising: receiving, at a server, a single message requesting to sync data associated with multiple dataclasses with at least one client device, wherein the message includes a proposed sync mode for each of the multiple dataclasses; negotiating, at the server, the proposed sync mode for each of the multiple dataclasses in parallel responsive to receiving the message; sending, from the server, a reply message that includes one or more status codes indicative of whether the proposed sync mode for each dataclass has been accepted by the server.