マクロとクロージャを組み合わせればOOPも継続も後から付けられる