Abstract module class.