The GoF design patterns book defines State design pattern as follows - 'Allow an object to alter its behaviour when its internal state changes. The object will appear to change its class.'