Refactor commerce data source to make it not tie to commerce api