Hmm.. Indeed, read() and write(), being the first predicates implemented, stemmed from classic on_read and on_write, and by doing that I deliberately walked away from the on_xxx semantics. I agree that besides being an established API, there are not many arguments against switching from read to on_read or readable. However, do you think that the other conditions should be renamed too? How about names in the neighbor modules, such as connect(), dbi_select(), dns(), etc so many?
Or, let me rephrase, how important is presence of on_ in on_read? Even though I'm more inclined in converting "read" into "readable", I doubt that this can be done unambiguously for all cases, like it is with the "on_" prefix. Possibly that decision sacrificed clarity for the sake of brevity.
But possibly not, I don't know really.
As for the second advice, I agree. If the absence of perl signature causes confusion, the signature shall be added.
On the side note, I'm thinking about all the advices given, and I see that deciphering the information compacted into the current manual could result in a fairly large article.
I'm thinking to write it using a wiki or something, I don't know, I never done anything like that, so that the documentation and the module itself will be subject of discussion while being written, not postfactum. As soon as I write a first draft, I'll post it here for review.
Again, thank you for not giving up and digging further!