change Runner interface to allow user-defined methods to use simple return values instead of publishing to channels.