refactor conversation message creation