Is it a good practice to use exception in model methods? Or is it ok to just return messages in case an operation couldn't be done