AsyncEventBus subscribing two callbacks for the same event results in only one being called twice

* Nim Compiler Version 1.6.4
* chronos-3.0.11 (installed via nimble)

``` nim
import chronos

type
  Payload = object
    test: int

let eventBus = newAsyncEventBus()

proc eventEV1(bus: AsyncEventBus, payload: EventPayload[Payload]) {.async.} =
  echo "eventEV1"

proc eventEV2(bus: AsyncEventBus, payload: EventPayload[Payload]) {.async.} =
  echo "eventEV2"

proc main() {.async.} =
  var payload: Payload
  discard eventBus.subscribe("EV", eventEV1)
  discard eventBus.subscribe("EV", eventEV2)
  eventBus.emit("EV", payload)
  await sleepAsync(1000)

waitFor main()
```

Expected output:
```
eventEV1
eventEV2
```

Actual output:
```
eventEV2
eventEV2
```
