I've used the State pattern to implement a simple finite state machine. Looking at the description given on [Wikipedia](http://en.wikipedia.org/wiki/State_pattern), and more specifically at the suggested Java implementation, I wondered why classes implementing the `State` interface (i.e. the various states) are not Singletons?

In the suggested implementation a new State is created whenever a transition occurs. However, one object is sufficient to represent each state. So, why wasting time creating a new instance every time a transition occurs?