Remove EventEmitter

Too much event handler may not good.
When error happen, all yield will finished.

Like this:

```
yield [ fn1(1), fn2(2) ];
```

if fn1 throw an Error, yield will be finished, not wait for fn2. You can see it from my test.

That `cache[key]` may be not release. If necessary, I can export an function to release cache force.