Design a clear component hierarchy.
Component tree:
ChatApp
├── ConversationList
│ └── ConversationItem
├── ChatWindow
│ ├── ChatHeader (name, status, actions)
│ ├── MessageList
│ │ └── Message
│ ├── TypingIndicator
│ └── MessageComposer
└── ConnectionStatus
Boundaries:
- ConversationList handles conversation selection
- ChatWindow handles current conversation
- MessageComposer handles input and sending