Made Module abstract and updated the Engine class