message widget refactor