юзеры могут покупать предметы у системы. т.е. у
User.buy(item) снимает средства и записывает в бд что item теперь user'a.
теперь бизнес захотел чтобы юзеры могли выставлять на продажу свои предметы и покупать у других.
чтобы не перемешивать логику купли\продажи между юзерами в User я хочу сделать класс Trader в котором и будут buy(),sell(),withdrawFromSell() и прочие.
есть ли смысл совместить логику покупки у системы (тип продавца SYSTEM) и как лучше сделать это?