Refactor models to remove duplication with presence: true