I agree this delete project together with jobs and projects that reference it should belong to the model, I'll add a method for it. Talking to Ingrid, jobs and projects that reference a specific project should not be deleted when their referenced project/parent is deleted, their project/parent reference should just be set to null. Therefore I don't see this method as recursive.