Refactorred messaging flow.