Adding layers breaks KISS - but sometimes there is no other way. I believe using the same data in web application and in some crontab scripts is a very common situation and this means separation of business logic and Controler stuff. Now I am waiting for David Storrs to present his cases why Model should be a thin wrapper.