"The model application is therefore an engine that moves from one state to the next by examining and choosing from among the alternative state transitions in the current set of representations."
http://weblogs.java.net/blog/mkarg/archive/2010/02/14/what-h...