Refactoring all public models as protocols