Expose a channel for sending instead of a method

Fixes a hypothetical deadlock when the user's stack was inside the send function
at the exact moment the dispatcher blocked trying to put something on the error
channel.