結局
vmに置かれるviewに強く関係するけど
共通ロジックの置き場がない