cache counter seems to be updated correctly; added specs
validation in Sale for piece-available checks whether piece_id changed (so returns true even if stock=0 if piece hasn't changed)