Provide dynamic loading of modules

Inspired by discussing in #365