Refactor most of TagStore into a parent TagLikeStore