I would like to introduce Fettle, a simple yet powerful state machine framework written in java using generics.
http://thehiflyer.github.com/Fettle/
In Fettle it is easy to construct a state machine template using a builder and then have that template produce state machine instances. This keeps the memory footprint lower for cases when many entities need their own copy of a state machine.