Rework the way lua modules work