Service vs repository responsibility