インターフェースと実装を分離すればいいんじゃない?