[WIP] Implementing emitters
Massive refactor
New and better tests
Disclaimer
Updated dependencies
Making flush() call idempotent