Should we keep Protocols or provide Abstract class that the model should inherit from. Vote : π for YES, π for NO