Not sure if this is possible or not, but since we sort of decided on having some list of modules somewhere, could we mandate that each one of those modules has a function that returns a json of state data? Then when we construct the state we iterate through all the modules and call that function in each.