Some more design changes to make the module composition more intuitive.