patch to channel.py for on_return callbacks to have arguments