ISSUE-10: models are defined as traits with provided case classes