refactoring, adding get_object_or_none helper classmethod in a new base abstract model class and initial use