decorator 実装sample