PHPステートパターンによるゆゆ式の実装 ref: http://qiita.com/yaoki_dokidoki/items/4a1fef4d46ada30636a6