Improve the modules model to support rendering live