Moved back to flushData/resetData implementation but with .push over .emit events. Works great but _read noop feels very dirty