1. A method comprising: providing one or more state variable values of an observed network state to individual applications that independently manage at least part of a network; receiving a plurality of proposed network states from a plurality of applications, wherein an individual proposed network state of the plurality of proposed network states proposes one or more changes to the one or more state variable values; merging at least a subset of the plurality of proposed network states into a target network state, wherein no individual one of the subset of the plurality of proposed networks states conflicts with another individual one of the subset of the plurality of proposed networks states; determining, by one or more hardware processors, differences between the observed network state and the target network state; generating, based at least in part on the differences between the observed network state and the target network state, one or more device-specific commands to write to one or more devices of the network; and writing the one or more device-specific commands to the one or more devices to change a state of the network from the observed network state to the target network state.