from web-specific 'dispatcher' to more generic 'invoker'