add support for channel hooks and config caching