Changed data model and controllers to separate responsibilities
App saves data when suspended or terminated