Если я правильно понял твой код, то там объект хранит сразу все свои состояния одновременно. И делегирует запрос одному из этих состояний. Паттерн state, описанный gof, имеет совершенно другую структуру. Он является аналогом конечного автомата. В один момент времени у объекта есть только одно состояние
Все я понял истину, в один момент времени у объекта должно быть только одно состояние, по этому в примере который описан на том ресурсе, конекст изначально знает только об одном состоянии