1. A method of updating a firmware package, the method comprising: receiving, by a firmware updating module comprising a module of automated computing machinery, an update package for the firmware package, the firmware package comprising one or more currently installed components, each of the currently installed components supporting one of a plurality of software layers, the update package comprising one or more update components that correspond to the currently installed components of the firmware package, each of the update components supporting one of the plurality of software layers; retrieving, by the firmware updating module from the firmware package during operation of the firmware package, information describing a state of the currently installed components; comparing, by the firmware updating module, the information describing the state of the currently installed components to information describing a state of the corresponding update components; constructing, by the firmware updating module, a revised update package that includes only update components having a state more recent than the state of the corresponding currently installed components; and updating, by the firmware updating module, the currently installed components with corresponding update components of the revised update package.