1. A method for managing a set of software modules in a software runtime environment, the set of software modules comprising one or more dynamic dependencies and one or more static dependencies, the method comprising: identifying, by one or more processors, a set of software modules; identifying, by one or more processors, each software module that has a static dependency on another of the software modules; identifying, by one or more processors, each subset of the set of software modules that is interdependent with another subset of the set of software modules due to static dependencies between subsets; and in response to a change in state of a module in an identified subset, applying, by one or more processors, the change in state to all modules in the identified subset.