The overal approach I took with refactoring this is very similar to how we built the `Avatar` component. We have `EmojiAvatarCreation` as the base component that handles all the UI/UX and shared logic, and `EmojiUserAvatarCreation` handles all the user avatar specific logic and `EmojiThreadAvatarCration` handles all the thread avatar specific
logic