# Implementation Plan
## Phase 3 — Cleanup
- Remove `HandlerRegistrar` trait and `register_handlers!` macro.
- Remove deprecated items introduced in 0.4.0.
- Update all examples to use `#[handler]` with `Dep<T>`.
### Phase 3 concrete tasks
- Remove stale documentation references to removed APIs:
- `register_handlers!`
- `HandlerRegistrar`
- `EventBus::new()`
- Ensure README and example READMEs reflect builder-first registration.
- Ensure standalone macro docs reflect descriptor + builder registration.
## Phase 4 — Usage Documentation
- Add a new `USAGE.md` guide and link it from `README.md`.
- Document subscription paths:
1. `#[handler]` + `EventBusBuilder::handler`/`dead_letter`
2. Direct `bus.subscribe*` methods after bus creation
3. Manual `HandlerDescriptor` / `DeadLetterDescriptor` implementations
- Document dependency paths:
1. `Deps` + `Dep<T>` (macro-generated or manual descriptor)
2. Self-contained handler structs (no `Deps`)
- Include guidance and examples for when to choose each path.
- Document supported `Dep<T>` parameter syntax forms.