I found it unclear that "ready" would trigger a "ready" event. I think it would be clear to describe it have "events" as "datachannel events" and then have "ready" as "onopen".