Use the Module interface instead of the abstract class
Implemented load of modules from module directory. Still missing
signature verification
Minor violations fixes