"Controller : the behavior of a model, modifies the state of an object"
In my opion, this is one of themost common falicies of MVC. The role of the controller is actaly quiet specific, although very badly name. It'S roles is to intepret user gestures from the View and interpret them into something the model can undertsand.
The model should contains not only the state but the behaviour of the model. Otherwise you get an anemic domain model
hhttp://martinfowler.com/bliki/AnemicDomainModel.html.
Which ican be ok, but misses out the OO goodness. Also pushing more functonility into your model makes it easer to write unit tests - the model is the most easily tested.
</Pontification>