```mermaid
flowchart LR
subgraph Topic Framework
Manager --> Store
Manager -->|new or clone\nby topic id| TopicToken
TopicToken -..->|drop| Manager
TopicToken --> BoxedStream
TopicToken --> StorageManager
TopicToken -->|register| StreamID
StreamID -.->|Refs| Event
BoxedStream --> StorageManager
BoxedStream -->|stream next| Topic
StorageManager --> Storage
StorageManager --> WakerRegistry
WakerRegistry -.->|wake all| StreamID
Storage --> Event
Topic -.->|create sub topic| Manager
Topic -.->|insert by key| StorageManager
end
```