What do you think about moving this logic to `Repo`?