refactor shop cell, shop cell only update view, don't do logical things