Use metaprogramming for all modules