Introduces the usage of compatibilities to allow it the module to be closer to how it works on hardware.