The overall approach I took with refactoring this is very similar to how we built the Avatar component. We use EmojiAvatarCreation as the base component that handles all the UI/UX and shared logic, and EmojiUserAvatarCreation handles all the user avatar specific logic and EmojiThreadAvatarCreation handles all the thread avatar specific logic
Depends on D7503