Replaced async.

Replaced `Async.forever` with my own home rolled solution. This is recursive so I was able to remove a bit of complexity in the broadcast module.

Fixes #15
is this correct or should it surface the error?