Do not use `add` in constructor
Expose value in internal events
Do not emit `clear` on empty