Much better separation of Model from Controller