でも、functional と OO そのものはなんかうまくかみ合ってない気がする・・・