何か似たような問題を(もっと実用的な例で)解けるデザパタがあったような。
TMPという手もあるけど、それは今の流れ的にお呼びでなさそうだな