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 suggests one or more changes to 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; and changing, by one or more hardware processors, a state of the network based at least in part on the target network state.