Refactored module loading -- now uses module.json files