Move socket to first argument of events
raise Handler.InvalidReturn when Channel return types are bad to aid error reporting