Redoing and improving the API for the modules.