A method of updating firmware on a mobile device, the method comprising: initiating a device management session between a mobile device and one or more servers (26, 28), the device management session occurring via a network having at least one wireless service with which the mobile device communicates; one of the one or more servers (26, 28) providing data to a first node (52,58) of a firmware update management object stored at the mobile device, the data indicating the locations of a plurality of different update files accessible via the network, and the first node (52,58) is a package uniform resource locator node of the firmware update management object, and the package uniform resource locator node identifies a single manifest update file containing the data indicating the locations of the plurality of different update files; wherein: (i) the single manifest update file contains metadata expressing at least one condition that the mobile device must meet to download one or more of the plurality of update files, or (ii) the method includes providing metadata to at least one second node of the firmware update management object, different from the first node (52,58), the metadata expressing at least one condition that the mobile device must meet to download one or more of the plurality of update files; sending a command from one of the one or more servers (26, 28) to the mobile device, the command targeting a node of the firmware update management object and being a command to the mobile device to begin downloading of update files; downloading, by the mobile device, the plurality of update files based on meeting the at least one condition in the metadata; and updating, by the mobile device, the firmware with the plurality of update files. initiating a device management session between a mobile device and one or more servers (26, 28), the device management session occurring via a network having at least one wireless service with which the mobile device communicates; one of the one or more servers (26, 28) providing data to a first node (52,58) of a firmware update management object stored at the mobile device, the data indicating the locations of a plurality of different update files accessible via the network, and the first node (52,58) is a package uniform resource locator node of the firmware update management object, and the package uniform resource locator node identifies a single manifest update file containing the data indicating the locations of the plurality of different update files; wherein: (i) the single manifest update file contains metadata expressing at least one condition that the mobile device must meet to download one or more of the plurality of update files, or (ii) the method includes providing metadata to at least one second node of the firmware update management object, different from the first node (52,58), the metadata expressing at least one condition that the mobile device must meet to download one or more of the plurality of update files; (i) the single manifest update file contains metadata expressing at least one condition that the mobile device must meet to download one or more of the plurality of update files, or (ii) the method includes providing metadata to at least one second node of the firmware update management object, different from the first node (52,58), the metadata expressing at least one condition that the mobile device must meet to download one or more of the plurality of update files; sending a command from one of the one or more servers (26, 28) to the mobile device, the command targeting a node of the firmware update management object and being a command to the mobile device to begin downloading of update files; downloading, by the mobile device, the plurality of update files based on meeting the at least one condition in the metadata; and updating, by the mobile device, the firmware with the plurality of update files.