fix: Apparently setTimeout can call the callback early which was causing duplicate-events.
0.2.1