+ Changed the interface of learning module
+ Added and abstract class for learning module with implementation for
some methods of the interface