Registrar programaticamente HttpModules em tempo de execução

Estou escrevendo um aplicativo no qual fornecedores de terceiros podem escrever DLLs de plug-ins e soltá-los no diretório bin do aplicativo Web. Quero que esses plug-ins possam registrar seus próprios HttpModules, se necessário.

Existe alguma maneira de adicionar ou remover HttpModules de e para o pipeline em tempo de execução sem ter uma entrada correspondente no Web.Config ou preciso editar programaticamente o Web.Config ao adicionar / remover módulos? Eu sei que de qualquer maneira causará uma reinicialização do AppDomain, mas eu prefiro fazê-lo em código do que ter que falsificar o web.config para obter o mesmo efeito.