Separated the Module interface from AbstractModule.