Moved the bussines logic to "message" model