Issue #55. Branch Iss55. Step twenty two implementation. Phase one: Provided abstract base class for the model