refactor product sync access into one class