"The state design pattern allows for full encapsulation of an unlimited number of states on a context for easy maintenance and flexibility."