If multiple chunks of data got queued up, the abort on data test would erroneously fail. Wait till the end of the tick before considering 'data' events as errors.