頭ひねってこのやり方しか出てこなかったです
どう実装するのが自然でしょうかね。。。